theLib 10.0
Loading...
Searching...
No Matches
libmyoox_mox.h File Reference

tag: nhi1-release-250425 More...

#include <tcl.h>
#include <tclInt.h>
#include <tclIntDecls.h>
#include <stdbool.h>
#include <assert.h>
#include "libmyoox_registry_mox.h"
+ Include dependency graph for libmyoox_mox.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MOX_RT_S
 

Macros

#define MOX_FILE_NAME   (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__)
 
#define HEADER
 
#define MOX_EXTERN
 static library
 
#define MOX_EXTERN_DATA   extern
 
#define MOX(n)
 
#define NS(n)
 
#define MOX_CLRCALL
 
#define MOX_STDCALL
 
#define MOX_CDECL
 
#define mox_inline   static inline
 
#define mox_unlink   unlink
 
#define mox_snprintf   snprintf
 
#define MOX_ATTR_HOT   __attribute__((hot))
 
#define MOX_ATTR_COLD   __attribute__((cold))
 
#define MOX_DECL   MOX_CDECL
 
#define MOX_UNUSED   __attribute__((unused))
 
#define MOX_SETUP_interp   MOX_UNUSED MOX_ENV_T interp = moxrt->interp
 
#define MOX_RT_SIG   0x66a1499b
 
#define regTclObj(t)
 
#define regTclObj2(t, v)
 
#define regTclCmd(t)
 
#define regTclArray(m, t)
 
#define MOX(n)
 
#define NS(n)
 
#define MOX_ARGS   MOX_ENV_T interp, int objc, MOX_OBJ_T const objv[]
 
#define MOX_ARGS_CALL   interp, objc, objv
 
#define MOX_CMD_ARGS   MOX_PTR clientData, MOX_ARGS
 
#define MOX_CMD_ARGS_CALL   clientData, MOX_ARGS_CALL
 
#define MOX_CPPXSTR(s)
 
#define MOX_CPPSTR(s)
 
#define MoxErrorStack()
 
#define regTclCmd(t)
 
#define ClassN(...)
 
#define MoxCreate3N(...)
 
#define MoxMakeNNN(...)
 The "NN" code require that the "clsNsO" is already set in the "interp".
 
#define MoxMakeN(...)
 The "N" code first sets the "clsNsO" in the "interp".
 
#define MoxDestroyN(...)
 
#define MoxResolveN(nsO)
 
#define MoxPushN(...)
 
#define MoxPopN()
 
#define MoxNsEval(_nsPtr)
 
#define MoxNsErrorRaise(_nsPtr)
 
#define MoxNsErrorCatch(_nsPtr)
 
#define MoxNsGetVar(ns, tok)
 
#define MoxNsSetVar(ns, tok, new)
 
#define MoxMy__CLASS__N(nsO)
 
#define MoxMy__CLASS__NN(nsP, f)
 
#define MoxMy__CLASS__NNN(f)
 
#define MoxMyIsNNN()
 
#define MoxMyIsNN(nsP)
 
#define MoxMyIsN(nsO)
 
#define MoxCls__SUPER__NNN(f)
 
#define MoxCls__SUPER__NN(nsP, f)
 
#define MoxCls__SUPER__N(nsO)
 
#define MoxCls__NAME__NNN(f)
 
#define MoxCls__NAME__NN(nsP, f)
 
#define MoxCls__NAME__N(nsO)
 
#define MoxClsIsNNN()
 
#define MoxClsIsNN(nsP)
 
#define MoxClsIsN(nsO)
 
#define MoxCls__NS__NNN(f)
 
#define MoxCls__NS__NN(nsP, f)
 
#define MoxCls__NS__N(nsO)
 

Typedefs

typedef ClientData MOX_PTR
 
typedef Tcl_Interp * MOX_ENV_T
 
typedef Tcl_Namespace * MOX_NS_T
 
typedef Tcl_Obj * MOX_CLS_T
 
typedef Tcl_Obj * MOX_OBJ_T
 
typedef const char * MOX_STRN
 
typedef MOX_RT_SMOX_RT_T
 

Functions

MOX_EXTERN int MOX_DECL MOX ClassN_direct (MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XcodeO)
 
MOX_EXTERN int MOX_DECL MOX Create3N_direct (MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XnameO, MOX_OBJ_T XnsO, int objc, const MOX_OBJ_T *objv)
 
MOX_EXTERN MOX_OBJ_T MOX_DECL MOX MakeNNN_direct (MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XnameO, MOX_OBJ_T XnsO)
 
MOX_EXTERN MOX_OBJ_T MOX_DECL MOX MakeN_direct (MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XnameO, MOX_OBJ_T XnsO)
 
MOX_EXTERN int MOX_DECL MOX DestroyN_direct (MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T myNsO)
 
mox_inline MOX_NS_T MOX ResolveN (MOX_ENV_T interp, MOX_OBJ_T nsO)
 
mox_inline Namespace *MOX NsPush (MOX_ENV_T interp, MOX_NS_T nsPtr)
 
mox_inline Namespace *MOX NsPop (MOX_ENV_T interp, Namespace *savedNsPtr)
 
mox_inline MOX_OBJ_T MOX My__CLASS__NNN (MOX_RT_T moxrt, int flags)
 
mox_inline MOX_OBJ_T MOX My__CLASS__NN (MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)
 
mox_inline MOX_OBJ_T MOX My__CLASS__N (MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)
 
mox_inline bool MOX MyIsNNN (MOX_RT_T moxrt)
 
mox_inline bool MOX MyIsNN (MOX_RT_T moxrt, MOX_NS_T nsP)
 
mox_inline bool MOX MyIsN (MOX_RT_T moxrt, MOX_OBJ_T nsO)
 
mox_inline MOX_OBJ_T MOX Cls__SUPER__NNN (MOX_RT_T moxrt, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__SUPER__NN (MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__SUPER__N (MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__NAME__NNN (MOX_RT_T moxrt, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__NAME__NN (MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__NAME__N (MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)
 
mox_inline bool MOX ClsIsNNN (MOX_RT_T moxrt)
 
mox_inline bool MOX ClsIsNN (MOX_RT_T moxrt, MOX_NS_T nsP)
 
mox_inline bool MOX ClsIsN (MOX_RT_T moxrt, MOX_OBJ_T nsO)
 
mox_inline MOX_OBJ_T MOX Cls__NS__NNN (MOX_RT_T moxrt, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__NS__NN (MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)
 
mox_inline MOX_OBJ_T MOX Cls__NS__N (MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)
 

Detailed Description

tag: nhi1-release-250425

Definition in file libmyoox_mox.h.

Macro Definition Documentation

◆ ClassN

#define ClassN ( ...)
Value:
MOX(ClassN_direct)(moxrt,interp,__VA_ARGS__)
#define MOX(n)
MOX_EXTERN int MOX_DECL MOX ClassN_direct(MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XcodeO)

Definition at line 201 of file libmyoox_mox.h.

◆ HEADER

#define HEADER

Definition at line 32 of file libmyoox_mox.h.

◆ MOX [1/2]

#define MOX ( n)
Value:
libmyoox_ ## n

Definition at line 83 of file libmyoox_mox.h.

◆ MOX [2/2]

#define MOX ( n)
Value:
libmyoox_ ## n

Definition at line 83 of file libmyoox_mox.h.

◆ MOX_ARGS

#define MOX_ARGS   MOX_ENV_T interp, int objc, MOX_OBJ_T const objv[]

Definition at line 185 of file libmyoox_mox.h.

◆ MOX_ARGS_CALL

#define MOX_ARGS_CALL   interp, objc, objv

Definition at line 186 of file libmyoox_mox.h.

◆ MOX_ATTR_COLD

#define MOX_ATTR_COLD   __attribute__((cold))

Definition at line 123 of file libmyoox_mox.h.

◆ MOX_ATTR_HOT

#define MOX_ATTR_HOT   __attribute__((hot))

Definition at line 122 of file libmyoox_mox.h.

◆ MOX_CDECL

#define MOX_CDECL

Definition at line 115 of file libmyoox_mox.h.

◆ MOX_CLRCALL

#define MOX_CLRCALL

Definition at line 113 of file libmyoox_mox.h.

◆ MOX_CMD_ARGS

#define MOX_CMD_ARGS   MOX_PTR clientData, MOX_ARGS

Definition at line 188 of file libmyoox_mox.h.

◆ MOX_CMD_ARGS_CALL

#define MOX_CMD_ARGS_CALL   clientData, MOX_ARGS_CALL

Definition at line 189 of file libmyoox_mox.h.

◆ MOX_CPPSTR

#define MOX_CPPSTR ( s)
Value:
#s

Definition at line 192 of file libmyoox_mox.h.

◆ MOX_CPPXSTR

#define MOX_CPPXSTR ( s)
Value:
#define MOX_CPPSTR(s)

Definition at line 191 of file libmyoox_mox.h.

◆ MOX_DECL

#define MOX_DECL   MOX_CDECL

Definition at line 132 of file libmyoox_mox.h.

◆ MOX_EXTERN

#define MOX_EXTERN

static library

Definition at line 56 of file libmyoox_mox.h.

◆ MOX_EXTERN_DATA

#define MOX_EXTERN_DATA   extern

Definition at line 79 of file libmyoox_mox.h.

◆ MOX_FILE_NAME

#define MOX_FILE_NAME   (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__)

Definition at line 22 of file libmyoox_mox.h.

◆ mox_inline

#define mox_inline   static inline

Definition at line 118 of file libmyoox_mox.h.

◆ MOX_RT_SIG

#define MOX_RT_SIG   0x66a1499b

Definition at line 152 of file libmyoox_mox.h.

◆ MOX_SETUP_interp

#define MOX_SETUP_interp   MOX_UNUSED MOX_ENV_T interp = moxrt->interp

Definition at line 143 of file libmyoox_mox.h.

◆ mox_snprintf

#define mox_snprintf   snprintf

Definition at line 120 of file libmyoox_mox.h.

◆ MOX_STDCALL

#define MOX_STDCALL

Definition at line 114 of file libmyoox_mox.h.

◆ mox_unlink

#define mox_unlink   unlink

Definition at line 119 of file libmyoox_mox.h.

◆ MOX_UNUSED

#define MOX_UNUSED   __attribute__((unused))

Definition at line 141 of file libmyoox_mox.h.

◆ MoxCls__NAME__N

#define MoxCls__NAME__N ( nsO)
Value:
MOX(Cls__NAME__N)(moxrt, nsO,TCL_LEAVE_ERR_MSG)
mox_inline MOX_OBJ_T MOX Cls__NAME__N(MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)

Definition at line 373 of file libmyoox_mox.h.

◆ MoxCls__NAME__NN

#define MoxCls__NAME__NN ( nsP,
f )
Value:
MOX(Cls__NAME__NN)(moxrt, nsP,f)
mox_inline MOX_OBJ_T MOX Cls__NAME__NN(MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)

Definition at line 372 of file libmyoox_mox.h.

◆ MoxCls__NAME__NNN

#define MoxCls__NAME__NNN ( f)
Value:
MOX(Cls__NAME__NNN)(moxrt, f)
mox_inline MOX_OBJ_T MOX Cls__NAME__NNN(MOX_RT_T moxrt, int flags)

Definition at line 371 of file libmyoox_mox.h.

◆ MoxCls__NS__N

#define MoxCls__NS__N ( nsO)
Value:
MOX(Cls__NS__N)(moxrt, nsO,TCL_LEAVE_ERR_MSG)
mox_inline MOX_OBJ_T MOX Cls__NS__N(MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)

Definition at line 421 of file libmyoox_mox.h.

◆ MoxCls__NS__NN

#define MoxCls__NS__NN ( nsP,
f )
Value:
MOX(Cls__NS__NN)(moxrt, nsP,f)
mox_inline MOX_OBJ_T MOX Cls__NS__NN(MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)

Definition at line 420 of file libmyoox_mox.h.

◆ MoxCls__NS__NNN

#define MoxCls__NS__NNN ( f)
Value:
MOX(Cls__NS__NNN)(moxrt, f)
mox_inline MOX_OBJ_T MOX Cls__NS__NNN(MOX_RT_T moxrt, int flags)

Definition at line 419 of file libmyoox_mox.h.

◆ MoxCls__SUPER__N

#define MoxCls__SUPER__N ( nsO)
Value:
MOX(Cls__SUPER__N)(moxrt, nsO,TCL_LEAVE_ERR_MSG)
mox_inline MOX_OBJ_T MOX Cls__SUPER__N(MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)

Definition at line 349 of file libmyoox_mox.h.

◆ MoxCls__SUPER__NN

#define MoxCls__SUPER__NN ( nsP,
f )
Value:
MOX(Cls__SUPER__NN)(moxrt, nsP,f)
mox_inline MOX_OBJ_T MOX Cls__SUPER__NN(MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)

Definition at line 348 of file libmyoox_mox.h.

◆ MoxCls__SUPER__NNN

#define MoxCls__SUPER__NNN ( f)
Value:
MOX(Cls__SUPER__NNN)(moxrt, f)
mox_inline MOX_OBJ_T MOX Cls__SUPER__NNN(MOX_RT_T moxrt, int flags)

Definition at line 347 of file libmyoox_mox.h.

◆ MoxClsIsN

#define MoxClsIsN ( nsO)
Value:
MOX(ClsIsN)(moxrt,nsO)
mox_inline bool MOX ClsIsN(MOX_RT_T moxrt, MOX_OBJ_T nsO)

Definition at line 397 of file libmyoox_mox.h.

◆ MoxClsIsNN

#define MoxClsIsNN ( nsP)
Value:
MOX(ClsIsNN)(moxrt,nsP)
mox_inline bool MOX ClsIsNN(MOX_RT_T moxrt, MOX_NS_T nsP)

Definition at line 396 of file libmyoox_mox.h.

◆ MoxClsIsNNN

#define MoxClsIsNNN ( )
Value:
MOX(ClsIsNNN)(moxrt)
mox_inline bool MOX ClsIsNNN(MOX_RT_T moxrt)

Definition at line 395 of file libmyoox_mox.h.

◆ MoxCreate3N

#define MoxCreate3N ( ...)
Value:
MOX(Create3N_direct)(moxrt,interp,__VA_ARGS__)
MOX_EXTERN int MOX_DECL MOX Create3N_direct(MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XnameO, MOX_OBJ_T XnsO, int objc, const MOX_OBJ_T *objv)

Definition at line 204 of file libmyoox_mox.h.

◆ MoxDestroyN

#define MoxDestroyN ( ...)
Value:
MOX(DestroyN_direct)(moxrt, interp,__VA_ARGS__)
MOX_EXTERN int MOX_DECL MOX DestroyN_direct(MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T myNsO)

Definition at line 235 of file libmyoox_mox.h.

◆ MoxErrorStack

#define MoxErrorStack ( )
Value:
Tcl_AppendResult(interp,"\nERROR-STACK: func=",__func__,", file=",__FILE__,", line=",MOX_CPPXSTR(__LINE__),NULL)
#define MOX_CPPXSTR(s)

Definition at line 194 of file libmyoox_mox.h.

194#define MoxErrorStack() \
195 Tcl_AppendResult(interp,"\nERROR-STACK: func=",__func__,", file=",__FILE__,", line=",MOX_CPPXSTR(__LINE__),NULL)

◆ MoxMakeN

#define MoxMakeN ( ...)
Value:
MOX(MakeN_direct)(moxrt,interp,__VA_ARGS__)
MOX_EXTERN MOX_OBJ_T MOX_DECL MOX MakeN_direct(MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XnameO, MOX_OBJ_T XnsO)

The "N" code first sets the "clsNsO" in the "interp".

Definition at line 226 of file libmyoox_mox.h.

◆ MoxMakeNNN

#define MoxMakeNNN ( ...)
Value:
MOX(MakeNNN_direct)(moxrt,interp,__VA_ARGS__)
MOX_EXTERN MOX_OBJ_T MOX_DECL MOX MakeNNN_direct(MOX_RT_T moxrt, MOX_ENV_T interp, MOX_OBJ_T clsNsO, MOX_OBJ_T XnameO, MOX_OBJ_T XnsO)

The "NN" code require that the "clsNsO" is already set in the "interp".

Definition at line 216 of file libmyoox_mox.h.

◆ MoxMy__CLASS__N

#define MoxMy__CLASS__N ( nsO)
Value:
MOX(My__CLASS__N)(moxrt, nsO, TCL_LEAVE_ERR_MSG)
mox_inline MOX_OBJ_T MOX My__CLASS__N(MOX_RT_T moxrt, MOX_OBJ_T myNsO, int flags)

Definition at line 296 of file libmyoox_mox.h.

◆ MoxMy__CLASS__NN

#define MoxMy__CLASS__NN ( nsP,
f )
Value:
MOX(My__CLASS__NN)(moxrt, nsP, f)
mox_inline MOX_OBJ_T MOX My__CLASS__NN(MOX_RT_T moxrt, MOX_NS_T myNsP, int flags)

Definition at line 297 of file libmyoox_mox.h.

◆ MoxMy__CLASS__NNN

#define MoxMy__CLASS__NNN ( f)
Value:
MOX(My__CLASS__NNN)(moxrt, f)
mox_inline MOX_OBJ_T MOX My__CLASS__NNN(MOX_RT_T moxrt, int flags)

Definition at line 298 of file libmyoox_mox.h.

◆ MoxMyIsN

#define MoxMyIsN ( nsO)
Value:
MOX(MyIsN)(moxrt,nsO)
mox_inline bool MOX MyIsN(MOX_RT_T moxrt, MOX_OBJ_T nsO)

Definition at line 322 of file libmyoox_mox.h.

◆ MoxMyIsNN

#define MoxMyIsNN ( nsP)
Value:
MOX(MyIsNN)(moxrt,nsP)
mox_inline bool MOX MyIsNN(MOX_RT_T moxrt, MOX_NS_T nsP)

Definition at line 321 of file libmyoox_mox.h.

◆ MoxMyIsNNN

#define MoxMyIsNNN ( )
Value:
MOX(MyIsNNN)(moxrt)
mox_inline bool MOX MyIsNNN(MOX_RT_T moxrt)

Definition at line 320 of file libmyoox_mox.h.

◆ MoxNsErrorCatch

#define MoxNsErrorCatch ( _nsPtr)
Value:
error_ ## _nsPtr: MOX_UNUSED ; \
if ( savedNsPtr && ((savedNsPtr=MOX(NsPop)(interp,savedNsPtr))==NULL) )
mox_inline Namespace *MOX NsPop(MOX_ENV_T interp, Namespace *savedNsPtr)
#define MOX_UNUSED

Definition at line 282 of file libmyoox_mox.h.

282#define MoxNsErrorCatch(_nsPtr) error_ ## _nsPtr: MOX_UNUSED ; \
283 if ( savedNsPtr && ((savedNsPtr=MOX(NsPop)(interp,savedNsPtr))==NULL) )

◆ MoxNsErrorRaise

#define MoxNsErrorRaise ( _nsPtr)
Value:
goto error_ ## _nsPtr

Definition at line 280 of file libmyoox_mox.h.

◆ MoxNsEval

#define MoxNsEval ( _nsPtr)
Value:
Namespace *savedNsPtr=NULL; \
for (savedNsPtr = MOX(NsPush)(interp,_nsPtr); savedNsPtr ; savedNsPtr=MOX(NsPop)(interp,savedNsPtr) )
mox_inline Namespace *MOX NsPush(MOX_ENV_T interp, MOX_NS_T nsPtr)

Definition at line 276 of file libmyoox_mox.h.

276#define MoxNsEval(_nsPtr) \
277 Namespace *savedNsPtr=NULL; \
278 for (savedNsPtr = MOX(NsPush)(interp,_nsPtr); savedNsPtr ; savedNsPtr=MOX(NsPop)(interp,savedNsPtr) )

◆ MoxNsGetVar

#define MoxNsGetVar ( ns,
tok )
Value:
Tcl_ObjGetVar2(interp,moxrt->ns,moxrt->tok,TCL_NAMESPACE_ONLY|TCL_LEAVE_ERR_MSG)

Definition at line 285 of file libmyoox_mox.h.

◆ MoxNsSetVar

#define MoxNsSetVar ( ns,
tok,
new )
Value:
Tcl_ObjSetVar2(interp,moxrt->ns,moxrt->tok,new,TCL_NAMESPACE_ONLY|TCL_LEAVE_ERR_MSG)

Definition at line 286 of file libmyoox_mox.h.

◆ MoxPopN

#define MoxPopN ( )
Value:
MOX(NsPop)(interp,nsSave)

Definition at line 269 of file libmyoox_mox.h.

◆ MoxPushN

#define MoxPushN ( ...)
Value:
Namespace * nsSave = MOX(NsPush)(interp,__VA_ARGS__)

Definition at line 261 of file libmyoox_mox.h.

◆ MoxResolveN

#define MoxResolveN ( nsO)
Value:
MOX(ResolveN)(interp, nsO)
mox_inline MOX_NS_T MOX ResolveN(MOX_ENV_T interp, MOX_OBJ_T nsO)

Definition at line 248 of file libmyoox_mox.h.

◆ NS [1/2]

#define NS ( n)
Value:
libmyoox_ ## n

Definition at line 85 of file libmyoox_mox.h.

◆ NS [2/2]

#define NS ( n)
Value:
libmyoox_ ## n

Definition at line 85 of file libmyoox_mox.h.

◆ regTclArray

#define regTclArray ( m,
t )
Value:
MOX_OBJ_T t[m];
Tcl_Obj * MOX_OBJ_T

Definition at line 170 of file libmyoox_mox.h.

◆ regTclCmd [1/2]

#define regTclCmd ( t)
Value:

Definition at line 169 of file libmyoox_mox.h.

◆ regTclCmd [2/2]

#define regTclCmd ( t)
Value:
#define MOX_CMD_ARGS
#define MOX_EXTERN
static library
#define MOX_DECL

Definition at line 169 of file libmyoox_mox.h.

◆ regTclObj

#define regTclObj ( t)
Value:

Definition at line 167 of file libmyoox_mox.h.

◆ regTclObj2

#define regTclObj2 ( t,
v )
Value:

Definition at line 168 of file libmyoox_mox.h.

Typedef Documentation

◆ MOX_CLS_T

typedef Tcl_Obj* MOX_CLS_T

Definition at line 148 of file libmyoox_mox.h.

◆ MOX_ENV_T

typedef Tcl_Interp* MOX_ENV_T

Definition at line 146 of file libmyoox_mox.h.

◆ MOX_NS_T

typedef Tcl_Namespace* MOX_NS_T

Definition at line 147 of file libmyoox_mox.h.

◆ MOX_OBJ_T

typedef Tcl_Obj* MOX_OBJ_T

Definition at line 149 of file libmyoox_mox.h.

◆ MOX_PTR

typedef ClientData MOX_PTR

Definition at line 145 of file libmyoox_mox.h.

◆ MOX_RT_T

typedef MOX_RT_S* MOX_RT_T

Definition at line 178 of file libmyoox_mox.h.

◆ MOX_STRN

typedef const char* MOX_STRN

Definition at line 150 of file libmyoox_mox.h.

Function Documentation

◆ ClassN_direct()

MOX_EXTERN int MOX_DECL MOX ClassN_direct ( MOX_RT_T moxrt,
MOX_ENV_T interp,
MOX_OBJ_T clsNsO,
MOX_OBJ_T XcodeO )

◆ Cls__NAME__N()

mox_inline MOX_OBJ_T MOX Cls__NAME__N ( MOX_RT_T moxrt,
MOX_OBJ_T myNsO,
int flags )

Definition at line 387 of file libmyoox_mox.h.

387 {
389 if (myNsO==NULL) return NULL;
390 MOX_NS_T myNsP = MoxResolveN(myNsO);
391 if (myNsP==NULL) return NULL;
392 return MoxCls__NAME__NN(myNsP,flags);
393}
#define MOX_SETUP_interp
#define MoxResolveN(nsO)
Tcl_Namespace * MOX_NS_T
#define MoxCls__NAME__NN(nsP, f)

◆ Cls__NAME__NN()

mox_inline MOX_OBJ_T MOX Cls__NAME__NN ( MOX_RT_T moxrt,
MOX_NS_T myNsP,
int flags )

Definition at line 379 of file libmyoox_mox.h.

379 {
381 MoxPushN(myNsP);
382 MOX_OBJ_T retO = MoxCls__NAME__NNN(flags);
383 MoxPopN();
384 return retO;
385}
#define MoxPushN(...)
#define MoxPopN()
#define MoxCls__NAME__NNN(f)

◆ Cls__NAME__NNN()

mox_inline MOX_OBJ_T MOX Cls__NAME__NNN ( MOX_RT_T moxrt,
int flags )

Definition at line 375 of file libmyoox_mox.h.

375 {
376 return Tcl_ObjGetVar2(moxrt->interp,moxrt->cls,moxrt->__NAME__,TCL_NAMESPACE_ONLY|flags);
377}
MOX_ENV_T interp

◆ Cls__NS__N()

mox_inline MOX_OBJ_T MOX Cls__NS__N ( MOX_RT_T moxrt,
MOX_OBJ_T myNsO,
int flags )

Definition at line 435 of file libmyoox_mox.h.

435 {
437 if (myNsO==NULL) return NULL;
438 MOX_NS_T myNsP = MoxResolveN(myNsO);
439 if (myNsP==NULL) return NULL;
440 return MoxCls__NS__NN(myNsP,flags);
441}
#define MoxCls__NS__NN(nsP, f)

◆ Cls__NS__NN()

mox_inline MOX_OBJ_T MOX Cls__NS__NN ( MOX_RT_T moxrt,
MOX_NS_T myNsP,
int flags )

Definition at line 427 of file libmyoox_mox.h.

427 {
429 MoxPushN(myNsP);
430 MOX_OBJ_T retO = MoxCls__NS__NNN(flags);
431 MoxPopN();
432 return retO;
433}
#define MoxCls__NS__NNN(f)

◆ Cls__NS__NNN()

mox_inline MOX_OBJ_T MOX Cls__NS__NNN ( MOX_RT_T moxrt,
int flags )

Definition at line 423 of file libmyoox_mox.h.

423 {
424 return Tcl_ObjGetVar2(moxrt->interp,moxrt->cls,moxrt->__NS__,TCL_NAMESPACE_ONLY|flags);
425}

◆ Cls__SUPER__N()

mox_inline MOX_OBJ_T MOX Cls__SUPER__N ( MOX_RT_T moxrt,
MOX_OBJ_T myNsO,
int flags )

Definition at line 363 of file libmyoox_mox.h.

363 {
365 if (myNsO==NULL) return NULL;
366 MOX_NS_T myNsP = MoxResolveN(myNsO);
367 if (myNsP==NULL) return NULL;
368 return MoxCls__SUPER__NN(myNsP,flags);
369}
#define MoxCls__SUPER__NN(nsP, f)

◆ Cls__SUPER__NN()

mox_inline MOX_OBJ_T MOX Cls__SUPER__NN ( MOX_RT_T moxrt,
MOX_NS_T myNsP,
int flags )

Definition at line 355 of file libmyoox_mox.h.

355 {
357 MoxPushN(myNsP);
358 MOX_OBJ_T retO = MoxCls__SUPER__NNN(flags);
359 MoxPopN();
360 return retO;
361}
#define MoxCls__SUPER__NNN(f)

◆ Cls__SUPER__NNN()

mox_inline MOX_OBJ_T MOX Cls__SUPER__NNN ( MOX_RT_T moxrt,
int flags )

Definition at line 351 of file libmyoox_mox.h.

351 {
352 return Tcl_ObjGetVar2(moxrt->interp,moxrt->cls,moxrt->__SUPER__,TCL_NAMESPACE_ONLY|flags);
353}

◆ ClsIsN()

mox_inline bool MOX ClsIsN ( MOX_RT_T moxrt,
MOX_OBJ_T nsO )

Definition at line 412 of file libmyoox_mox.h.

412 {
414 MOX_NS_T myNsP = MoxResolveN(nsO);
415 if (myNsP == NULL) return false;
416 return MoxClsIsNN(myNsP);
417}
#define MoxClsIsNN(nsP)

◆ ClsIsNN()

mox_inline bool MOX ClsIsNN ( MOX_RT_T moxrt,
MOX_NS_T nsP )

Definition at line 403 of file libmyoox_mox.h.

403 {
405 bool retB = false;
406 MoxPushN(nsP);
407 retB = MoxClsIsNNN();
408 MoxPopN();
409 return retB;
410}
#define MoxClsIsNNN()

◆ ClsIsNNN()

mox_inline bool MOX ClsIsNNN ( MOX_RT_T moxrt)

Definition at line 399 of file libmyoox_mox.h.

399 {
400 return MoxCls__SUPER__NNN(0) != NULL;
401}

◆ Create3N_direct()

MOX_EXTERN int MOX_DECL MOX Create3N_direct ( MOX_RT_T moxrt,
MOX_ENV_T interp,
MOX_OBJ_T clsNsO,
MOX_OBJ_T XnameO,
MOX_OBJ_T XnsO,
int objc,
const MOX_OBJ_T * objv )

◆ DestroyN_direct()

MOX_EXTERN int MOX_DECL MOX DestroyN_direct ( MOX_RT_T moxrt,
MOX_ENV_T interp,
MOX_OBJ_T myNsO )

◆ MakeN_direct()

MOX_EXTERN MOX_OBJ_T MOX_DECL MOX MakeN_direct ( MOX_RT_T moxrt,
MOX_ENV_T interp,
MOX_OBJ_T clsNsO,
MOX_OBJ_T XnameO,
MOX_OBJ_T XnsO )

◆ MakeNNN_direct()

MOX_EXTERN MOX_OBJ_T MOX_DECL MOX MakeNNN_direct ( MOX_RT_T moxrt,
MOX_ENV_T interp,
MOX_OBJ_T clsNsO,
MOX_OBJ_T XnameO,
MOX_OBJ_T XnsO )

◆ My__CLASS__N()

mox_inline MOX_OBJ_T MOX My__CLASS__N ( MOX_RT_T moxrt,
MOX_OBJ_T myNsO,
int flags )

Definition at line 312 of file libmyoox_mox.h.

312 {
314 if (myNsO==NULL) return NULL;
315 MOX_NS_T myNsP = MoxResolveN(myNsO);
316 if (myNsP==NULL) return NULL;
317 return MoxMy__CLASS__NN(myNsP,flags);
318}
#define MoxMy__CLASS__NN(nsP, f)

◆ My__CLASS__NN()

mox_inline MOX_OBJ_T MOX My__CLASS__NN ( MOX_RT_T moxrt,
MOX_NS_T myNsP,
int flags )

Definition at line 304 of file libmyoox_mox.h.

304 {
306 MoxPushN(myNsP);
307 MOX_OBJ_T retO = MoxMy__CLASS__NNN(flags);
308 MoxPopN();
309 return retO;
310}
#define MoxMy__CLASS__NNN(f)

◆ My__CLASS__NNN()

mox_inline MOX_OBJ_T MOX My__CLASS__NNN ( MOX_RT_T moxrt,
int flags )

Definition at line 300 of file libmyoox_mox.h.

300 {
301 return Tcl_ObjGetVar2(moxrt->interp,moxrt->my,moxrt->__CLASS__,TCL_NAMESPACE_ONLY|flags);
302}

◆ MyIsN()

mox_inline bool MOX MyIsN ( MOX_RT_T moxrt,
MOX_OBJ_T nsO )

Definition at line 337 of file libmyoox_mox.h.

337 {
339 MOX_NS_T myNsP = MoxResolveN(nsO);
340 if (myNsP == NULL) return false;
341 return MoxMyIsNN(myNsP);
342}
#define MoxMyIsNN(nsP)

◆ MyIsNN()

mox_inline bool MOX MyIsNN ( MOX_RT_T moxrt,
MOX_NS_T nsP )

Definition at line 328 of file libmyoox_mox.h.

328 {
330 bool retB = false;
331 MoxPushN(nsP);
332 retB = MoxMyIsNNN();
333 MoxPopN();
334 return retB;
335}
#define MoxMyIsNNN()

◆ MyIsNNN()

mox_inline bool MOX MyIsNNN ( MOX_RT_T moxrt)

Definition at line 324 of file libmyoox_mox.h.

324 {
325 return MoxMy__CLASS__NNN(0) != NULL;
326}

◆ NsPop()

mox_inline Namespace *MOX NsPop ( MOX_ENV_T interp,
Namespace * savedNsPtr )

Definition at line 270 of file libmyoox_mox.h.

270 {
271 Interp *iPtr = (Interp *) interp;
272 iPtr->varFramePtr->nsPtr = savedNsPtr;
273 return NULL;
274}

◆ NsPush()

mox_inline Namespace *MOX NsPush ( MOX_ENV_T interp,
MOX_NS_T nsPtr )

Definition at line 262 of file libmyoox_mox.h.

262 {
263 Interp *iPtr = (Interp *) interp;
264 Namespace * savedNsPtr = iPtr->varFramePtr->nsPtr;
265 iPtr->varFramePtr->nsPtr = (Namespace *) nsPtr;
266 return savedNsPtr;
267}

◆ ResolveN()

mox_inline MOX_NS_T MOX ResolveN ( MOX_ENV_T interp,
MOX_OBJ_T nsO )

Definition at line 249 of file libmyoox_mox.h.

250{
251 assert(nsO!=NULL);
252 Tcl_Namespace *nsPtr;
253 if (TclGetNamespaceFromObj(interp,nsO,&nsPtr) != TCL_OK)
254 return NULL;
255 return nsPtr;
256}