(define-cpp-type |void(*)(cl_heap_univpoly_ring*,ostream&,const_cl_UP&)| function-type
  signature: ((cl_heap_univpoly_ring* ostream& const_cl_UP&) void)
  cpp-type-dcl: "void (*%s)(cl_heap_univpoly_ring *, ostream &, const _cl_UP &)"
  id: |void(*)(cl_heap_univpoly_ring**,ostream**,_cl_UP**)|)
(define-cpp-data-slot-setter _cl_univpoly_setops equal)
(define-cpp-type |cl_boolean(*)(cl_heap_univpoly_ring*,const_cl_UP&,const_cl_UP&)|
 function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP& const_cl_UP&) cl_boolean)
  cpp-type-dcl: "cl_boolean (*%s)(cl_heap_univpoly_ring *, const _cl_UP &, const _cl_UP &)"
  id: |cl_boolean(*)(cl_heap_univpoly_ring**,_cl_UP**,_cl_UP**)|)
(define-cpp-type _cl_univpoly_setops& static
  id: _cl_univpoly_setops*
  class: _cl_univpoly_setops
  cpp-type-dcl: "_cl_univpoly_setops &%s"
  cast: "((_cl_univpoly_setops &)(%s))"
  arg-type: "_cl_univpoly_setops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_setops *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_setops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_setops static
  id: _cl_univpoly_setops*
  class: _cl_univpoly_setops
  cpp-type-dcl: "_cl_univpoly_setops %s"
  cast: "((_cl_univpoly_setops)(%s))"
  arg-type: "_cl_univpoly_setops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_setops *%s"
  res-converter: "new _cl_univpoly_setops (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_setops *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_setops* static
  id: _cl_univpoly_setops*
  class: _cl_univpoly_setops
  cpp-type-dcl: "_cl_univpoly_setops *%s"
  cast: "((_cl_univpoly_setops *)(%s))"
  callback-res-converter: "(_cl_univpoly_setops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_univpoly_addops zero)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*)| function-type
  signature: ((cl_heap_univpoly_ring*) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**)|)
(define-cpp-data-slot-setter _cl_univpoly_addops zerop)
(define-cpp-type |cl_boolean(*)(cl_heap_univpoly_ring*,const_cl_UP&)| function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP&) cl_boolean)
  cpp-type-dcl: "cl_boolean (*%s)(cl_heap_univpoly_ring *, const _cl_UP &)"
  id: |cl_boolean(*)(cl_heap_univpoly_ring**,_cl_UP**)|)
(define-cpp-data-slot-setter _cl_univpoly_addops plus)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*,const_cl_UP&,const_cl_UP&)| function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP& const_cl_UP&) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *, const _cl_UP &, const _cl_UP &)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**,_cl_UP**,_cl_UP**)|)
(define-cpp-data-slot-setter _cl_univpoly_addops minus)
(define-cpp-data-slot-setter _cl_univpoly_addops uminus)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*,const_cl_UP&)| function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP&) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *, const _cl_UP &)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**,_cl_UP**)|)
(define-cpp-type _cl_univpoly_addops& static
  id: _cl_univpoly_addops*
  class: _cl_univpoly_addops
  cpp-type-dcl: "_cl_univpoly_addops &%s"
  cast: "((_cl_univpoly_addops &)(%s))"
  arg-type: "_cl_univpoly_addops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_addops *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_addops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_addops static
  id: _cl_univpoly_addops*
  class: _cl_univpoly_addops
  cpp-type-dcl: "_cl_univpoly_addops %s"
  cast: "((_cl_univpoly_addops)(%s))"
  arg-type: "_cl_univpoly_addops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_addops *%s"
  res-converter: "new _cl_univpoly_addops (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_addops *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_addops* static
  id: _cl_univpoly_addops*
  class: _cl_univpoly_addops
  cpp-type-dcl: "_cl_univpoly_addops *%s"
  cast: "((_cl_univpoly_addops *)(%s))"
  callback-res-converter: "(_cl_univpoly_addops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_univpoly_mulops one)
(define-cpp-data-slot-setter _cl_univpoly_mulops canonhom)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*,const-cl_I&)| function-type
  signature: ((cl_heap_univpoly_ring* const-cl_I&) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *, const cl_I &)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**,cl_I**)|)
(define-cpp-data-slot-setter _cl_univpoly_mulops mul)
(define-cpp-data-slot-setter _cl_univpoly_mulops square)
(define-cpp-data-slot-setter _cl_univpoly_mulops expt_pos)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*,const_cl_UP&,const-cl_I&)| function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP& const-cl_I&) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *, const _cl_UP &, const cl_I &)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**,_cl_UP**,cl_I**)|)
(define-cpp-type _cl_univpoly_mulops& static
  id: _cl_univpoly_mulops*
  class: _cl_univpoly_mulops
  cpp-type-dcl: "_cl_univpoly_mulops &%s"
  cast: "((_cl_univpoly_mulops &)(%s))"
  arg-type: "_cl_univpoly_mulops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_mulops *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_mulops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_mulops static
  id: _cl_univpoly_mulops*
  class: _cl_univpoly_mulops
  cpp-type-dcl: "_cl_univpoly_mulops %s"
  cast: "((_cl_univpoly_mulops)(%s))"
  arg-type: "_cl_univpoly_mulops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_mulops *%s"
  res-converter: "new _cl_univpoly_mulops (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_mulops *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_mulops* static
  id: _cl_univpoly_mulops*
  class: _cl_univpoly_mulops
  cpp-type-dcl: "_cl_univpoly_mulops *%s"
  cast: "((_cl_univpoly_mulops *)(%s))"
  callback-res-converter: "(_cl_univpoly_mulops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter _cl_univpoly_polyops degree)
(define-cpp-type |sintL(*)(cl_heap_univpoly_ring*,const_cl_UP&)| function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP&) sintL)
  cpp-type-dcl: "sintL (*%s)(cl_heap_univpoly_ring *, const _cl_UP &)"
  id: |sintL(*)(cl_heap_univpoly_ring**,_cl_UP**)|)
(define-cpp-data-slot-setter _cl_univpoly_polyops monomial)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*,const-cl_ring_element&,uintL)|
 function-type
  signature: ((cl_heap_univpoly_ring* const-cl_ring_element& uintL) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *, const cl_ring_element &, uintL)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**,cl_ring_element**,uintL)|)
(define-cpp-data-slot-setter _cl_univpoly_polyops coeff)
(define-cpp-type |cl_ring_element(*)(cl_heap_univpoly_ring*,const_cl_UP&,uintL)| function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP& uintL) cl_ring_element)
  cpp-type-dcl: "cl_ring_element (*%s)(cl_heap_univpoly_ring *, const _cl_UP &, uintL)"
  id: |cl_ring_element*(*)(cl_heap_univpoly_ring**,_cl_UP**,uintL)|)
(define-cpp-data-slot-setter _cl_univpoly_polyops create)
(define-cpp-type |_cl_UP(*)(cl_heap_univpoly_ring*,sintL)| function-type
  signature: ((cl_heap_univpoly_ring* sintL) _cl_UP)
  cpp-type-dcl: "_cl_UP (*%s)(cl_heap_univpoly_ring *, sintL)"
  id: |_cl_UP*(*)(cl_heap_univpoly_ring**,sintL)|)
(define-cpp-data-slot-setter _cl_univpoly_polyops set_coeff)
(define-cpp-type |void(*)(cl_heap_univpoly_ring*,_cl_UP&,uintL,const-cl_ring_element&)|
 function-type
  signature: ((cl_heap_univpoly_ring* _cl_UP& uintL const-cl_ring_element&)
              void)
  cpp-type-dcl: "void (*%s)(cl_heap_univpoly_ring *, _cl_UP &, uintL, const cl_ring_element &)"
  id: |void(*)(cl_heap_univpoly_ring**,_cl_UP**,uintL,cl_ring_element**)|)
(define-cpp-data-slot-setter _cl_univpoly_polyops finalize)
(define-cpp-type |void(*)(cl_heap_univpoly_ring*,_cl_UP&)| function-type
  signature: ((cl_heap_univpoly_ring* _cl_UP&) void)
  cpp-type-dcl: "void (*%s)(cl_heap_univpoly_ring *, _cl_UP &)"
  id: |void(*)(cl_heap_univpoly_ring**,_cl_UP**)|)
(define-cpp-data-slot-setter _cl_univpoly_polyops eval)
(define-cpp-type |cl_ring_element(*)(cl_heap_univpoly_ring*,const_cl_UP&,const-cl_ring_element&)|
 function-type
  signature: ((cl_heap_univpoly_ring* const_cl_UP& const-cl_ring_element&)
              cl_ring_element)
  cpp-type-dcl: "cl_ring_element (*%s)(cl_heap_univpoly_ring *, const _cl_UP &, const cl_ring_element &)"
  id: |cl_ring_element*(*)(cl_heap_univpoly_ring**,_cl_UP**,cl_ring_element**)|)
(define-cpp-type _cl_univpoly_polyops& static
  id: _cl_univpoly_polyops*
  class: _cl_univpoly_polyops
  cpp-type-dcl: "_cl_univpoly_polyops &%s"
  cast: "((_cl_univpoly_polyops &)(%s))"
  arg-type: "_cl_univpoly_polyops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_polyops *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_polyops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_polyops static
  id: _cl_univpoly_polyops*
  class: _cl_univpoly_polyops
  cpp-type-dcl: "_cl_univpoly_polyops %s"
  cast: "((_cl_univpoly_polyops)(%s))"
  arg-type: "_cl_univpoly_polyops *%s"
  arg-converter: "*(%s)"
  res-type: "_cl_univpoly_polyops *%s"
  res-converter: "new _cl_univpoly_polyops (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(_cl_univpoly_polyops *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-type _cl_univpoly_polyops* static
  id: _cl_univpoly_polyops*
  class: _cl_univpoly_polyops
  cpp-type-dcl: "_cl_univpoly_polyops *%s"
  cast: "((_cl_univpoly_polyops *)(%s))"
  callback-res-converter: "(_cl_univpoly_polyops *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-data-slot-setter cl_heap_univpoly_ring basering)
(define-cpp-type const-cl_UP& static
  id: cl_UP*
  class: cl_UP
  cpp-type-dcl: "const cl_UP &%s"
  cast: "((const cl_UP &)(%s))"
  arg-type: "const cl_UP *%s"
  arg-converter: "*(%s)"
  res-type: "const cl_UP *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(const cl_UP *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_heap_univpoly_ring& static
  id: cl_heap_univpoly_ring*
  class: cl_heap_univpoly_ring
  cpp-type-dcl: "cl_heap_univpoly_ring &%s"
  cast: "((cl_heap_univpoly_ring &)(%s))"
  arg-type: "cl_heap_univpoly_ring *%s"
  arg-converter: "*(%s)"
  res-type: "cl_heap_univpoly_ring *%s"
  res-converter: "&%s"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_heap_univpoly_ring *)(%s)"
  c-callback-arg-type: "void *%s")
(define-cpp-type cl_heap_univpoly_ring static
  id: cl_heap_univpoly_ring*
  class: cl_heap_univpoly_ring
  cpp-type-dcl: "cl_heap_univpoly_ring %s"
  cast: "((cl_heap_univpoly_ring)(%s))"
  arg-type: "cl_heap_univpoly_ring *%s"
  arg-converter: "*(%s)"
  res-type: "cl_heap_univpoly_ring *%s"
  res-converter: "new cl_heap_univpoly_ring (%s)"
  callback-arg-converter: "&%s"
  callback-res-converter: "*(cl_heap_univpoly_ring *)(%s)"
  c-callback-arg-converter: none
  c-callback-res-converter: none
  c-callback-arg-type: "void *%s")
(define-cpp-variable-setter cl_no_univpoly_ring)
