summaryrefslogtreecommitdiffstats
path: root/squirrel_3_0_1_stable/_OLD_sqplus/SqPlusConst.h
diff options
context:
space:
mode:
Diffstat (limited to 'squirrel_3_0_1_stable/_OLD_sqplus/SqPlusConst.h')
-rw-r--r--squirrel_3_0_1_stable/_OLD_sqplus/SqPlusConst.h74
1 files changed, 0 insertions, 74 deletions
diff --git a/squirrel_3_0_1_stable/_OLD_sqplus/SqPlusConst.h b/squirrel_3_0_1_stable/_OLD_sqplus/SqPlusConst.h
deleted file mode 100644
index 50fafc220..000000000
--- a/squirrel_3_0_1_stable/_OLD_sqplus/SqPlusConst.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// SqPlusConst.h
-// SqPlus constant type and constant member function support created by Simon Michelmore.
-// Modular integration 11/14/05 jcs.
-
-#ifdef SQPLUS_DECLARE_INSTANCE_TYPE_CONST
-#undef SQPLUS_DECLARE_INSTANCE_TYPE_CONST
-
-// Kamaitati's NULL_INSTANCE support. 5/28/06 jcs
-
-#ifdef SQPLUS_SUPPORT_NULL_INSTANCES
-
-#define DECLARE_INSTANCE_TYPE_NAME_CONST_BASE(TYPE,NAME) \
-inline bool Match(TypeWrapper<const TYPE &>,HSQUIRRELVM v,int idx) { return GetInstance<TYPE,false>(v,idx) != NULL; } \
-inline const TYPE & Get(TypeWrapper<const TYPE &>,HSQUIRRELVM v,int idx) { return *GetInstance<TYPE,true>(v,idx); }
-
-// Ordinary case
-#define DECLARE_INSTANCE_TYPE_NAME_CONST(TYPE,NAME) \
- DECLARE_INSTANCE_TYPE_NAME_(TYPE,NAME) \
- namespace SqPlus { \
- DECLARE_INSTANCE_TYPE_NAME_CONST_BASE(TYPE,NAME) \
- template<> inline void Push(HSQUIRRELVM v,const TYPE * value) { \
- if (!value) sq_pushnull(v); \
- else if (!CreateNativeClassInstance(v,GetTypeName(*value),(TYPE*)value,0)) \
- throw SquirrelError(_SC("Push(): could not create INSTANCE (check registration name)")); } \
- template<> inline void Push(HSQUIRRELVM v,const TYPE & value) { if (!CreateCopyInstance(v,GetTypeName(value),value)) throw SquirrelError(_SC("Push(): could not create INSTANCE copy (check registration name)")); } \
- } // nameSpace SqPlus
-
-// Case for custom Push implementation (covariant return type)
-#define DECLARE_INSTANCE_TYPE_NAME_CONST_CUSTOM(TYPE,NAME) \
- DECLARE_INSTANCE_TYPE_NAME_CUSTOM_(TYPE,NAME) \
- namespace SqPlus { \
- DECLARE_INSTANCE_TYPE_NAME_CONST_BASE(TYPE,NAME) \
- template<> void Push(HSQUIRRELVM v,const TYPE * value); \
- template<> void Push(HSQUIRRELVM v,const TYPE & value); \
- } // nameSpace SqPlus
-
-
-#else
-
-#define DECLARE_INSTANCE_TYPE_NAME_CONST(TYPE,NAME) \
- DECLARE_INSTANCE_TYPE_NAME_(TYPE,NAME) \
- namespace SqPlus { \
- template<> inline void Push(HSQUIRRELVM v,const TYPE * value) { if (!CreateNativeClassInstance(v,GetTypeName(*value),(TYPE*)value,0)) throw SquirrelError(_SC("Push(): could not create INSTANCE (check registration name)")); } \
- template<> inline void Push(HSQUIRRELVM v,const TYPE & value) { if (!CreateCopyInstance(v,GetTypeName(value),value)) throw SquirrelError(_SC("Push(): could not create INSTANCE copy (check registration name)")); } \
- template<> inline bool Match(TypeWrapper<const TYPE &>,HSQUIRRELVM v,int idx) { return GetInstance<TYPE,false>(v,idx) != NULL; } \
- template<> inline const TYPE & Get(TypeWrapper<const TYPE &>,HSQUIRRELVM v,int idx) { return *GetInstance<TYPE,true>(v,idx); } \
- } // nameSpace SqPlus
-
-#endif
-
-#define DECLARE_INSTANCE_TYPE(TYPE) DECLARE_INSTANCE_TYPE_NAME_CONST(TYPE,TYPE)
-#define DECLARE_INSTANCE_TYPE_NAME(TYPE,NAME) DECLARE_INSTANCE_TYPE_NAME_CONST(TYPE,NAME)
-#define DECLARE_INSTANCE_TYPE_CUSTOM(TYPE) DECLARE_INSTANCE_TYPE_NAME_CONST_CUSTOM(TYPE,TYPE)
-#define DECLARE_INSTANCE_TYPE_NAME_CUSTOM(TYPE,NAME) DECLARE_INSTANCE_TYPE_NAME_CONST_CUSTOM(TYPE,NAME)
-#endif
-
-#define SQPLUS_APPLY_CONST
-#include "SqPlusCallTemplates.h"
-
-
-#ifdef SQ_REG_CONST_STATIC_VAR
-#undef SQ_REG_CONST_STATIC_VAR
-template<typename VarType>
-SQClassDefBase & staticVar(const VarType * pvar,const SQChar * name,VarAccessType access=VAR_ACCESS_READ_ONLY) {
- struct CV {
- const VarType * var;
- } cv; // Cast Variable helper.
- cv.var = pvar;
- RegisterInstanceVariable(newClass,ClassType<TClassType>::type(),*(VarType **)&cv,name,VarAccessType(access|VAR_ACCESS_STATIC));
- return *this;
-} // staticVar
-#endif
-
-// SqPlusConst.h