X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=include%2Fcln%2FSV_ringelt.h;h=2087e4c6b04089b48ade103e2df05d700cdf3dca;hb=HEAD;hp=d370afd814cac71f09fd8d01609b8811eca64d85;hpb=c84c6db5d56829d69083c819688a973867694a2a;p=cln.git diff --git a/include/cln/SV_ringelt.h b/include/cln/SV_ringelt.h index d370afd..2087e4c 100644 --- a/include/cln/SV_ringelt.h +++ b/include/cln/SV_ringelt.h @@ -16,7 +16,7 @@ public: // Constructors. cl_SV_ringelt (); cl_SV_ringelt (const cl_SV_ringelt&); - explicit cl_SV_ringelt (uintC len); + explicit cl_SV_ringelt (std::size_t len); // Assignment operators. cl_SV_ringelt& operator= (const cl_SV_ringelt&); // Private pointer manipulations. @@ -27,10 +27,10 @@ public: inline cl_SV_ringelt::cl_SV_ringelt (const cl_SV_ringelt& x) : cl_SV<_cl_ring_element,cl_SV_any> (as_cl_private_thing(x)) {} CL_DEFINE_ASSIGNMENT_OPERATOR(cl_SV_ringelt,cl_SV_ringelt) // Returns a new simple vector with uninitialized contents. -extern cl_heap_SV_ringelt* cl_make_heap_SV_ringelt_uninit (uintC len); +extern cl_heap_SV_ringelt* cl_make_heap_SV_ringelt_uninit (std::size_t len); // Returns a new simple vector with all elements initialized to some value. -extern cl_heap_SV_ringelt* cl_make_heap_SV_ringelt (uintC len); -inline cl_SV_ringelt::cl_SV_ringelt (uintC len) +extern cl_heap_SV_ringelt* cl_make_heap_SV_ringelt (std::size_t len); +inline cl_SV_ringelt::cl_SV_ringelt (std::size_t len) : cl_SV<_cl_ring_element,cl_SV_any> (cl_make_heap_SV_ringelt(len)) {} // Private pointer manipulations. @@ -44,7 +44,15 @@ inline cl_SV_ringelt::operator cl_heap_SV_ringelt* () const extern const cl_SV_ringelt cl_null_SV_ringelt; inline cl_SV_ringelt::cl_SV_ringelt () : cl_SV<_cl_ring_element,cl_SV_any> ((cl_heap_SV_ringelt*) cl_null_SV_ringelt) {} -CL_REQUIRE(cl_SV_ringelt) + +class cl_SV_ringelt_init_helper +{ + static int count; +public: + cl_SV_ringelt_init_helper(); + ~cl_SV_ringelt_init_helper(); +}; +static cl_SV_ringelt_init_helper cl_SV_ringelt_init_helper_instance; // Copy a simple vector. inline const cl_SV_ringelt copy (const cl_SV_ringelt& vector)