(define-cpp-type cl_UP_MI static
  id: cl_UP_MI*
  class: cl_UP_MI
  cpp-type-dcl: "cl_UP_MI %s"
  cast: "((cl_UP_MI)(%s))"
  arg-type: "cl_UP_MI *%s"
  arg-converter: "*(%s)"
  res-type: "cl_UP_MI *%s"
  res-converter: "new cl_UP_MI (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_UP_MI *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_UP_MI& static
  id: cl_UP_MI*
  class: cl_UP_MI
  cpp-type-dcl: "cl_UP_MI &%s"
  cast: "((cl_UP_MI &)(%s))"
  arg-type: "cl_UP_MI *%s"
  arg-converter: "*(%s)"
  res-type: "cl_UP_MI *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_UP_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_UP_MI& static
  id: cl_UP_MI*
  class: cl_UP_MI
  cpp-type-dcl: "const cl_UP_MI &%s"
  cast: "((const cl_UP_MI &)(%s))"
  arg-type: "const cl_UP_MI *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_UP_MI *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_UP_MI *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_heap_univpoly_modint_ring& static
  id: cl_heap_univpoly_modint_ring*
  class: cl_heap_univpoly_modint_ring
  cpp-type-dcl: "cl_heap_univpoly_modint_ring &%s"
  cast: "((cl_heap_univpoly_modint_ring &)(%s))"
  arg-type: "cl_heap_univpoly_modint_ring *%s"
  arg-converter: "*(%s)"
  res-type: "cl_heap_univpoly_modint_ring *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_heap_univpoly_modint_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_heap_univpoly_modint_ring static
  id: cl_heap_univpoly_modint_ring*
  class: cl_heap_univpoly_modint_ring
  cpp-type-dcl: "cl_heap_univpoly_modint_ring %s"
  cast: "((cl_heap_univpoly_modint_ring)(%s))"
  arg-type: "cl_heap_univpoly_modint_ring *%s"
  arg-converter: "*(%s)"
  res-type: "cl_heap_univpoly_modint_ring *%s"
  res-converter: "new cl_heap_univpoly_modint_ring (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_heap_univpoly_modint_ring *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter cl_timespec tv_sec)
(define-cpp-data-slot-setter cl_timespec tv_nsec)
(define-cpp-type cl_timespec& static
  id: cl_timespec*
  class: cl_timespec
  cpp-type-dcl: "cl_timespec &%s"
  cast: "((cl_timespec &)(%s))"
  arg-type: "cl_timespec *%s"
  arg-converter: "*(%s)"
  res-type: "cl_timespec *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_timespec *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_timespec static
  id: cl_timespec*
  class: cl_timespec
  cpp-type-dcl: "cl_timespec %s"
  cast: "((cl_timespec)(%s))"
  arg-type: "cl_timespec *%s"
  arg-converter: "*(%s)"
  res-type: "cl_timespec *%s"
  res-converter: "new cl_timespec (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_timespec *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_timespec* static
  id: cl_timespec*
  class: cl_timespec
  cpp-type-dcl: "cl_timespec *%s"
  cast: "((cl_timespec *)(%s))"
  callback-res-converter: "(cl_timespec *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter cl_time_duration tv_sec)
(define-cpp-data-slot-setter cl_time_duration tv_nsec)
(define-cpp-type cl_time_duration& static
  id: cl_time_duration*
  class: cl_time_duration
  cpp-type-dcl: "cl_time_duration &%s"
  cast: "((cl_time_duration &)(%s))"
  arg-type: "cl_time_duration *%s"
  arg-converter: "*(%s)"
  res-type: "cl_time_duration *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_time_duration *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_time_duration static
  id: cl_time_duration*
  class: cl_time_duration
  cpp-type-dcl: "cl_time_duration %s"
  cast: "((cl_time_duration)(%s))"
  arg-type: "cl_time_duration *%s"
  arg-converter: "*(%s)"
  res-type: "cl_time_duration *%s"
  res-converter: "new cl_time_duration (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_time_duration *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_time_duration* static
  id: cl_time_duration*
  class: cl_time_duration
  cpp-type-dcl: "cl_time_duration *%s"
  cast: "((cl_time_duration *)(%s))"
  callback-res-converter: "(cl_time_duration *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter cl_time_consumption realtime)
(define-cpp-data-slot-setter cl_time_consumption usertime)
(define-cpp-type cl_time_consumption& static
  id: cl_time_consumption*
  class: cl_time_consumption
  cpp-type-dcl: "cl_time_consumption &%s"
  cast: "((cl_time_consumption &)(%s))"
  arg-type: "cl_time_consumption *%s"
  arg-converter: "*(%s)"
  res-type: "cl_time_consumption *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_time_consumption *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_time_consumption static
  id: cl_time_consumption*
  class: cl_time_consumption
  cpp-type-dcl: "cl_time_consumption %s"
  cast: "((cl_time_consumption)(%s))"
  arg-type: "cl_time_consumption *%s"
  arg-converter: "*(%s)"
  res-type: "cl_time_consumption *%s"
  res-converter: "new cl_time_consumption (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_time_consumption *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_time_consumption* static
  id: cl_time_consumption*
  class: cl_time_consumption
  cpp-type-dcl: "cl_time_consumption *%s"
  cast: "((cl_time_consumption *)(%s))"
  callback-res-converter: "(cl_time_consumption *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_timespec& static
  id: cl_timespec*
  class: cl_timespec
  cpp-type-dcl: "const cl_timespec &%s"
  cast: "((const cl_timespec &)(%s))"
  arg-type: "const cl_timespec *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_timespec *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_timespec *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_time_duration& static
  id: cl_time_duration*
  class: cl_time_duration
  cpp-type-dcl: "const cl_time_duration &%s"
  cast: "((const cl_time_duration &)(%s))"
  arg-type: "const cl_time_duration *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_time_duration *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_time_duration *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type const-cl_time_consumption& static
  id: cl_time_consumption*
  class: cl_time_consumption
  cpp-type-dcl: "const cl_time_consumption &%s"
  cast: "((const cl_time_consumption &)(%s))"
  arg-type: "const cl_time_consumption *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_time_consumption *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_time_consumption *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter cl_timing tmp)
(define-cpp-data-slot-setter cl_timing report_fn)
(define-cpp-type const-cl_timing& static
  id: cl_timing*
  class: cl_timing
  cpp-type-dcl: "const cl_timing &%s"
  cast: "((const cl_timing &)(%s))"
  arg-type: "const cl_timing *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_timing *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_timing *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type |void(*)(const-cl_timing&)| function-type
  signature: ((const-cl_timing&) void)
  cpp-type-dcl: "void (*%s)(const cl_timing &)"
  id: |void(*)(cl_timing**)|)
(define-cpp-data-slot-setter cl_timing report_destination)
(define-cpp-data-slot-setter cl_timing comment)
(define-cpp-type cl_timing& static
  id: cl_timing*
  class: cl_timing
  cpp-type-dcl: "cl_timing &%s"
  cast: "((cl_timing &)(%s))"
  arg-type: "cl_timing *%s"
  arg-converter: "*(%s)"
  res-type: "cl_timing *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_timing *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_timing static
  id: cl_timing*
  class: cl_timing
  cpp-type-dcl: "cl_timing %s"
  cast: "((cl_timing)(%s))"
  arg-type: "cl_timing *%s"
  arg-converter: "*(%s)"
  res-type: "cl_timing *%s"
  res-converter: "new cl_timing (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_timing *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_timing* static
  id: cl_timing*
  class: cl_timing
  cpp-type-dcl: "cl_timing *%s"
  cast: "((cl_timing *)(%s))"
  callback-res-converter: "(cl_timing *)(%s)"
  c-callback-arg-type: "void *%s")
