File indexing completed on 2026-05-19 08:08:30
0001
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
0016 cl_GV_number ();
0017 cl_GV_number (const cl_GV_number&);
0018 explicit cl_GV_number (std::size_t len);
0019
0020 cl_GV_number& operator= (const cl_GV_number&);
0021
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
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
0045 extern const cl_GV_number copy (const cl_GV_number&);
0046
0047
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 }
0054
0055 #endif