theSq3Lite 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard - theLib - theATL
c - tcl - atl - cs - py - rb - jv - cc
Loading...
Searching...
No Matches
Sq3StmtC_def_sq3.h
Go to the documentation of this file.
1
12/* LABEL-START */
13#pragma once
14
15#include "LibSq3Lite_sq3.h"
16/* LABEL-END */
17
19
20// BEGIN-Class-Doc-Order - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
21
22// external
28
29// END-Class-Doc-Order - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
30
31// MARK_C ==================================================================
32
37
39struct Sq3StmtS {
40 // BEGIN-Sq3StmtS-super - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
41
42 union {
43 struct MkObjectS obj; // instance-base MkObjectS
45
46 // END-Sq3StmtS-super - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
47
48 // BEGIN-Sq3StmtS-native - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
49
51
52 // END-Sq3StmtS-native - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
53
59};
60
61// MARK_D ==================================================================
62// BEGIN-Sq3StmtS-Definition - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
63
67 __parser__push__(prefix=Class, doc-group=Define, doc-index=Class);
68
69// Signature --------------------------------------------------------------
72
73 #define Sq3StmtC_SIGNATURE (MkObjectC_SIGNATURE ^ (19u<<10))
74 #define Sq3StmtC_MASK (((1u<<22)-1)<<10)
75
77
78// CompileTimeCast --------------------------------------------------------------
81
82 #define Sq3StmtC_X2stmt(x) (x)
83 #define Sq3StmtC_X2obj(x) MkOBJ(x)
84
86
87// TypeDef --------------------------------------------------------------
90
92 __parser__(ignore) typedef struct Sq3StmtS Sq3StmtCR;
94 __parser__(ignore) typedef const struct Sq3StmtS Sq3StmtCNR;
98 #define Sq3StmtC_T ( (struct MkTypeDefS *) (Sq3StmtC_TT) )
100 #define Sq3StmtST Sq3StmtC_T
102 #define Sq3StmtSTT (MkTYP(Sq3StmtST))
104 #define Sq3StmtC_type SQ3_STMT
106 #define Sq3StmtCT_X(instance) ( (struct MkTypeDefS *) (MkOBJ_R(instance).type) )
108 #define Sq3StmtCTT_X(instance) (MkOBJ_R(instance).type)
110 #define Sq3StmtCT_TT(typ) ( (struct MkTypeDefS *) (typ) )
112 #define Sq3StmtC_NS SQ3
114 #define Sq3StmtCTT Sq3StmtCTT
116 #define Sq3StmtCT ( (struct MkTypeDefS *) Sq3StmtCTT )
117
119
120// TypeCheck --------------------------------------------------------------
123
124 #pragma GCC diagnostic push
125 #pragma GCC diagnostic ignored "-Wattributes"
126
129 __parser__(class=Sq3StmtC,static,hide)
132 return MkSanitizeCheck(Sq3StmtC,mng);
133 }
134
137 __parser__(class=Sq3StmtC,static,hide)
140 return MkSanitizeCheckO(Sq3StmtC,obj);
141 }
142
143 #pragma GCC diagnostic pop
144 #define Sq3StmtC_Check(mng) Sq3StmtCheck(mng)
145
147
148// RunTimeCast --------------------------------------------------------------
151
153 __parser__(class=Sq3StmtC,hide,static)
154 META_ATTRIBUTE_SANITIZE
157 return (Sq3StmtCheck(mng) ? (SQ3_STMT)mng : NULL);
158 }
159
161 __parser__(class=Sq3StmtC,hide,static)
162 META_ATTRIBUTE_SANITIZE
165 return (Sq3StmtCheck(mng) ? (SQ3_STMTN)mng : NULL);
166 }
167
169 #define Sq3StmtRaise(_stmt) if (!_MkCheckX(Sq3StmtC,_stmt)) { \
170 MkErrorSetC_1E("'Sq3StmtC' hdl is NULL"); \
171 goto error ; \
172 }
173
175 #define Sq3STMT_R(x) (*(x)).super.stmt
177 #define Sq3STMT(x) (&Sq3STMT_R(x))
178
180
183// Sq3StmtC_Class_Define_C_API
184
185// END-Sq3StmtS-Definition - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
186
188
189// MARK_C ==================================================================
190
193#define Sq3GetStmtFromNat(_nat) SQ3_SET_T(Sq3StmtC,some_api__hook,_nat)
194
195// =========================================================================
196// BEGIN-Sq3StmtS-Export - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
197
200
203
204__parser__push__(doc-group=_ignore_,doc-index=Class,doc-name=Export,class=Sq3StmtC);
205
208__parser__(internal)
211 return Sq3GetStmtFromNat(hdl);
212}
213
215__parser__(internal)
218 return Sq3GetStmtFromNat(hdl);
219}
220
236__parser__(class-overload=MkObjectHandleGet)
240 SQ3_STMT const stmt __parser__(null-allowed)
241) {
242 return MkObjectHandleGet(stmt?MkOBJ(stmt):NULL);
243}
244
253__parser__(flags=new)
257 MK_HDL const netHdl
258) {
259 return Sq3Stmt(MkObjectHandleResolve(netHdl));
260}
261
271#define Sq3StmtHandleResolve_e(netHdl) ({ \
272 MK_HDL tmpHdl=netHdl; \
273 SQ3_STMT tmp; \
274 if (tmpHdl==0) { \
275 tmp=NULL; \
276 } else { \
277 tmp=Sq3StmtHandleResolve(tmpHdl); \
278 if (tmp==NULL) { \
279 MkErrorSetC_1_NULL("ERROR: 'Sq3StmtC' handle is 'NULL'"); \
280 goto error; \
281 }; \
282 }; \
283 tmp; \
284})
285
287
289// Class export & import
290
294 __parser__(flags=new,doc-group=_ignore_,doc-index=Class,doc-name=Misc,class=Sq3StmtC,null-return-allow)
297 return (SQ3_STMT)MK_NULL;
298 }
300// Sq3StmtC - Misc - function
301
303// Sq3StmtC_Class_C_API
304
305// END-Sq3StmtS-Export - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
306
307// =========================================================================
308// BEGIN-Class-Introspection - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
309
314
315__parser__push__(doc-name=Introspection,doc-index=Class,class=Sq3StmtC,no-rpc,null-return-allow,flags=new);
316
324
328 MK_INSTANCE_HDL(stmt);
329 return (SQ3_STMT)Sq3StmtC_X2obj(stmt)->obj_protect.next;
330}
331
335 MK_INSTANCE_HDL(stmt);
336 return (SQ3_STMT)Sq3StmtC_X2obj(stmt)->obj_protect.prev;
337}
338
340
343// Sq3StmtC_Class_C_API
344
345// END-Class-Introspection - created by 'c_Class.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
346
LibSq3Lite_sq3.h - 10 Apr 2025 - aotto1968.
#define BEGIN_SQ3_C_DECLS
#define END_SQ3_C_DECLS
#define MK_DECL
#define mk_inline
#define MK_ARTIFICIAL
#define MK_NULL
#define __parser__pop__
#define __parser__push__(...)
#define __parser__(...)
const MK_PTRB * MK_MNGN
const MK_STRB * MK_STRN
MK_PTRB * MK_MNG
int32_t MK_HDL
#define MkSanitizeCheck(_root, _m)
#define MkSanitizeCheckO(_root, _o)
#define MkObjectHandleResolve(...)
#define MkObjectHandleGet(...)
#define MkOBJ(x)
#define MK_ATTR_STATIC
#define MK_ATTR_RT_INSTANCE
#define MK_ATTR_INSTANCE
#define MkThreadLocal
#define MK_PARSER_RT
#define MK_PARSER_RT_ONLY
#define MK_ATTR_RT_STATIC
#define MkRtSetup_NULL
#define MK_INSTANCE_HDL(x)
static MK_OBJ MkTypeInstances(MK_TYP const typ)
#define SQ3_EXTERN_DATA
#define SQ3_STATIC_RT
#define Sq3GetStmtFromNat(_nat)
helper for Sq3StmtC_ObjNew …
static SQ3_STMT Sq3StmtC_ObjCreate(sqlite3_stmt *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
static MK_HDL Sq3StmtHandleGet_RT(MK_RT mkrt, SQ3_STMT const stmt)
Handle-Get-Slot - returns a export-hdl to the Sq3StmtC useable for external storage
static SQ3_STMT Sq3StmtPrev(SQ3_STMT const stmt)
get previous instance from linked-list of Sq3StmtS type
static SQ3_STMT Sq3StmtNext(SQ3_STMT const stmt)
get next instance from linked-list of Sq3StmtS type
static SQ3_STMT Sq3StmtHandleResolve_RT(MK_RT mkrt, MK_HDL const netHdl)
Handle-Resolve-Slot - return a Sq3StmtC from netHdl or "MK_NULL" if invalid…
static SQ3_STMT Sq3StmtGetNull(void)
Null-Slot - return a Sq3StmtC typed NULL instance …
static MK_ARTIFICIAL SQ3_STMT Sq3StmtC_ObjNew(sqlite3_stmt *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
static SQ3_STMT Sq3StmtInstances_RT(MK_RT mkrt)
get head-instance from linked-list of Sq3StmtS type …
static SQ3_STMTN Sq3StmtN(MK_MNGN mng)
(const) cast a unknown-object into an Sq3StmtS pointer or NULL if not possible
static bool Sq3StmtCheckO(MK_OBJN obj)
check Sq3StmtS -> MkObjectS::signature …
static SQ3_STMT Sq3Stmt(MK_MNG mng)
cast a unknown-object into an Sq3StmtS pointer or NULL if not possible
__thread MK_TYP Sq3StmtC_TT
class as MkTypeDefS-class-type …
#define Sq3StmtC_X2obj(x)
static bool Sq3StmtCheck(MK_MNGN mng)
check Sq3StmtS -> MkObjectS::signature …
struct sqlite3_stmt sqlite3_stmt
Struct to represent the data of the Sq3StmtC …
union Sq3StmtS::@5 super
struct MkObjectS obj
sqlite3_stmt * nat
internal - link between Sq3StmtS and native library
MK_STRN pzTail
The non compiled sql-statement from Sq3StmtPrepareV2 and Sq3StmtPrepareV3 …