Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-19 08:08:30

0001 // General vectors of numbers.
0002 
0003 #ifndef _CL_GV_NUMBER_H
0004 #define _CL_GV_NUMBER_H
0005 
0006 #include "cln/number.h"
0007 #include "cln/GV.h"
0008 
0009 namespace cln {
0010 
0011 typedef cl_heap_GV<cl_number> cl_heap_GV_number;
0012 
0013 struct cl_GV_number : public cl_GV<cl_number,cl_GV_any> {
0014 public:
0015     // Constructors.
0016     cl_GV_number ();
0017     cl_GV_number (const cl_GV_number&);
0018     explicit cl_GV_number (std::size_t len);
0019     // Assignment operators.
0020     cl_GV_number& operator= (const cl_GV_number&);
0021     // Private pointer manipulations.
0022     cl_GV_number (cl_heap_GV_number* p) : cl_GV<cl_number,cl_GV_any> (p) {}
0023     cl_GV_number (cl_private_thing p) : cl_GV<cl_number,cl_GV_any> (p) {}
0024 };
0025 inline cl_GV_number::cl_GV_number (const cl_GV_number& x) : cl_GV<cl_number,cl_GV_any> (as_cl_private_thing(x)) {}
0026 CL_DEFINE_ASSIGNMENT_OPERATOR(cl_GV_number,cl_GV_number)
0027 extern cl_heap_GV_number* cl_make_heap_GV_number (std::size_t len);
0028 inline cl_GV_number::cl_GV_number (std::size_t len)
0029     : cl_GV<cl_number,cl_GV_any> (cl_make_heap_GV_number(len)) {}
0030 
0031 // Private pointer manipulations. Never throw away a `struct cl_heap_GV_number *'!
0032 extern const cl_GV_number cl_null_GV_number;
0033 inline cl_GV_number::cl_GV_number ()
0034     : cl_GV<cl_number,cl_GV_any> ((cl_heap_GV_number*) cl_null_GV_number) {}
0035 class cl_GV_number_init_helper
0036 {
0037     static int count;
0038 public:
0039     cl_GV_number_init_helper();
0040     ~cl_GV_number_init_helper();
0041 };
0042 static cl_GV_number_init_helper cl_GV_number_init_helper_instance;
0043 
0044 // Copy a vector.
0045 extern const cl_GV_number copy (const cl_GV_number&);
0046 
0047 // Debugging support.
0048 #ifdef CL_DEBUG
0049 extern int cl_GV_number_debug_module;
0050 CL_FORCE_LINK(cl_GV_number_debug_dummy, cl_GV_number_debug_module)
0051 #endif
0052 
0053 }  // namespace cln
0054 
0055 #endif /* _CL_GV_NUMBER_H */