File indexing completed on 2026-05-19 08:08:33
0001
0002
0003 #ifndef _CL_SV_NUMBER_H
0004 #define _CL_SV_NUMBER_H
0005
0006 #include "cln/number.h"
0007 #include "cln/SV.h"
0008 #include "cln/io.h"
0009
0010 namespace cln {
0011
0012 typedef cl_heap_SV<cl_number> cl_heap_SV_number;
0013
0014 struct cl_SV_number : public cl_SV<cl_number,cl_SV_any> {
0015 public:
0016
0017 cl_SV_number ();
0018 cl_SV_number (const cl_SV_number&);
0019 explicit cl_SV_number (std::size_t len);
0020
0021 cl_SV_number& operator= (const cl_SV_number&);
0022
0023 operator cl_heap_SV_number* () const;
0024 cl_SV_number (cl_heap_SV_number* p) : cl_SV<cl_number,cl_SV_any> (p) {}
0025 cl_SV_number (cl_private_thing p) : cl_SV<cl_number,cl_SV_any> (p) {}
0026 };
0027 inline cl_SV_number::cl_SV_number (const cl_SV_number& x) : cl_SV<cl_number,cl_SV_any> (as_cl_private_thing(x)) {}
0028 CL_DEFINE_ASSIGNMENT_OPERATOR(cl_SV_number,cl_SV_number)
0029
0030 extern cl_heap_SV_number* cl_make_heap_SV_number_uninit (std::size_t len);
0031
0032 extern cl_heap_SV_number* cl_make_heap_SV_number (std::size_t len);
0033 inline cl_SV_number::cl_SV_number (std::size_t len)
0034 : cl_SV<cl_number,cl_SV_any> (cl_make_heap_SV_number(len)) {}
0035
0036
0037 inline cl_SV_number::operator cl_heap_SV_number* () const
0038 {
0039 cl_heap_SV_number* hpointer = (cl_heap_SV_number*)pointer;
0040 cl_inc_refcount(*this);
0041 return hpointer;
0042 }
0043 extern const cl_SV_number cl_null_SV_number;
0044 inline cl_SV_number::cl_SV_number ()
0045 : cl_SV<cl_number,cl_SV_any> ((cl_heap_SV_number*) cl_null_SV_number) {}
0046 class cl_SV_number_init_helper
0047 {
0048 static int count;
0049 public:
0050 cl_SV_number_init_helper();
0051 ~cl_SV_number_init_helper();
0052 };
0053 static cl_SV_number_init_helper cl_SV_number_init_helper_instance;
0054
0055
0056 inline const cl_SV_number copy (const cl_SV_number& vector)
0057 { return The(cl_SV_number) (copy((const cl_SV_any&) vector)); }
0058
0059
0060 #ifdef CL_DEBUG
0061 extern int cl_SV_number_debug_module;
0062 CL_FORCE_LINK(cl_SV_number_debug_dummy, cl_SV_number_debug_module)
0063 #endif
0064
0065 }
0066
0067 #endif