]> www.ginac.de Git - cln.git/blobdiff - include/cln/GV_integer.h
* */*: Remove cl_boolean, cl_true, and cl_false in favor of built-in
[cln.git] / include / cln / GV_integer.h
index e2adf95f364554902b6a24e14d7db4d5b88ab1ba..5dd2b79ffaf1ae8b43a44977efa4953adf5ada33 100644 (file)
@@ -13,13 +13,11 @@ namespace cln {
 // A vector of integers is *not* just a normal vector of numbers (the vectorops
 // support the maxbits() operation), but we treat can it like this nevertheless.
 
-#ifdef HAVE_TEMPLATE_NULL
 template <>
-#endif
 struct cl_heap_GV<cl_I> : cl_heap {
        cl_GV_inner<cl_I> v;
        // here room for the elements
-       sintL maxbits () const;
+       sintC maxbits () const;
 };
 typedef cl_heap_GV<cl_I> cl_heap_GV_I;
 
@@ -29,13 +27,13 @@ public:
        cl_GV_I ();
        cl_GV_I (const cl_GV_I&);
        // Create a vector of unconstrained integers.
-       explicit cl_GV_I (uintL len);
+       explicit cl_GV_I (uintC len);
        // Create a vector of m-bit integers (>=0, <2^m).
-       cl_GV_I (uintL len, sintL m);
+       cl_GV_I (uintC len, sintC m);
        // Assignment operators.
        cl_GV_I& operator= (const cl_GV_I&);
        // Number m of bits allowed per element (-1 if unconstrained).
-       sintL maxbits () const
+       sintC maxbits () const
        {
                return ((const cl_heap_GV_I *) pointer)->maxbits();
        }
@@ -45,11 +43,11 @@ public:
 };
 inline cl_GV_I::cl_GV_I (const cl_GV_I& x) : cl_GV<cl_I,cl_GV_RA> (as_cl_private_thing(x)) {}
 CL_DEFINE_ASSIGNMENT_OPERATOR(cl_GV_I,cl_GV_I)
-extern cl_heap_GV_I* cl_make_heap_GV_I (uintL len);
-inline cl_GV_I::cl_GV_I (uintL len)
+extern cl_heap_GV_I* cl_make_heap_GV_I (uintC len);
+inline cl_GV_I::cl_GV_I (uintC len)
        : cl_GV<cl_I,cl_GV_RA> (cl_make_heap_GV_I(len)) {}
-extern cl_heap_GV_I* cl_make_heap_GV_I (uintL len, sintL m);
-inline cl_GV_I::cl_GV_I (uintL len, sintL m)
+extern cl_heap_GV_I* cl_make_heap_GV_I (uintC len, sintC m);
+inline cl_GV_I::cl_GV_I (uintC len, sintC m)
        : cl_GV<cl_I,cl_GV_RA> (cl_make_heap_GV_I(len,m)) {}
 
 // Private pointer manipulations. Never throw away a `struct cl_heap_GV_I *'!
@@ -62,14 +60,14 @@ CL_REQUIRE(cl_GV_I)
 extern const cl_GV_I copy (const cl_GV_I&);
 
 // Output.
-inline void fprint (cl_ostream stream, const cl_GV_I& x)
+inline void fprint (std::ostream& stream, const cl_GV_I& x)
 {
        extern cl_print_flags default_print_flags;
-       extern void print_vector (cl_ostream stream, const cl_print_flags& flags, void (* fun) (cl_ostream, const cl_print_flags&, const cl_number&), const cl_GV_number& vector);
-       extern void print_integer (cl_ostream stream, const cl_print_flags& flags, const cl_I& z);
+       extern void print_vector (std::ostream& stream, const cl_print_flags& flags, void (* fun) (std::ostream&, const cl_print_flags&, const cl_number&), const cl_GV_number& vector);
+       extern void print_integer (std::ostream& stream, const cl_print_flags& flags, const cl_I& z);
        print_vector(stream, default_print_flags,
-                    (void (*) (cl_ostream, const cl_print_flags&, const cl_number&))
-                    (void (*) (cl_ostream, const cl_print_flags&, const cl_I&))
+                    (void (*) (std::ostream&, const cl_print_flags&, const cl_number&))
+                    (void (*) (std::ostream&, const cl_print_flags&, const cl_I&))
                     &print_integer,
                     x);
 }
@@ -78,9 +76,7 @@ CL_DEFINE_PRINT_OPERATOR(cl_GV_I)
 // Debugging support.
 #ifdef CL_DEBUG
 extern int cl_GV_I_debug_module;
-static void* const cl_GV_I_debug_dummy[] = { &cl_GV_I_debug_dummy,
-       &cl_GV_I_debug_module
-};
+CL_FORCE_LINK(cl_GV_I_debug_dummy, cl_GV_I_debug_module)
 #endif
 
 }  // namespace cln