14 #include "../Scriptable/IScriptableObj.h"
15 #ifdef USE_ISCRIPTABLE
16 #include "../Scriptable/cScriptableInterface.h"
54 : m_aKey(aKey), m_vVal(vVal)
119 #ifdef USE_ISCRIPTABLE
123 #define cVarMapMethod(a,b,c,d) M_##a,
140 : m_aTuples(rMap.m_aTuples)
148 size_t GetHeapStats(OUT
ITERATE_t& iAllocCount)
const;
200 return GetValVar(pszKey);
206 return RefValVar(pszKey);
210 UINT32 GetValAsDWord(
const ATOMCHAR_t* pszKey, UINT32 uValDefault = 0)
const;
211 int GetValAsInt(
const ATOMCHAR_t* pszKey,
int iValDefault = 0)
const;
212 float GetValAsFloat(
const ATOMCHAR_t* pszKey,
float fValDefault = 0.0f)
const;
230 #ifdef USE_ISCRIPTABLE
242 HRESULT SetFromArrays(
int iQty,
const char** ppszNames,
const char** ppszVals);
270 template class GRAYLIB_LINK cArraySortRef<GrayLib::cVarTuple, ATOMCODE_t>;
271 template class GRAYLIB_LINK cArraySortHash<GrayLib::cVarTuple, ATOMCODE_t>;
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define IS_TYPE_OF(t, p)
Definition: PtrCast.h:23
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define DEBUG_CHECK(exp)
Definition: cDebugAssert.h:90
#define COBJECT_IsValidCheck()
Definition: cObject.h:64
#define CSCRIPT_CLASS_DEF0(TYPE)
Definition: cScriptableInterface.h:271
Definition: cScriptableInterface.h:97
Definition: cVarMap.h:109
cArraySortHash< cVarTuple, ATOMCODE_t > m_aTuples
Hash sorted by ATOMCODE_t. NOT alphabetic sort.
Definition: cVarMap.h:115
cVarMap()
Definition: cVarMap.h:136
M_TYPE_
Definition: cVarMap.h:122
@ M_QTY
Definition: cVarMap.h:126
HRESULT LoadTuple(IScriptableEnumerator §ion)
cVarMap(const cVarMap &rMap)
Definition: cVarMap.h:139
cVariant & operator[](const ATOMCHAR_t *pszKey)
Definition: cVarMap.h:204
const cVariant & GetValVar(const ATOMCHAR_t *pszKey) const
Definition: cVarMap.h:191
static const ATOMCHAR_t * k_pszKeyDefault
Default name for keys with not valid names. "_" (or no name)
Definition: cVarMap.h:117
ITERATE_t get_KeyQty() const
Definition: cVarMap.h:152
cVarTuplePtr GetMapElement(ITERATE_t index) const
Definition: cVarMap.h:157
const cVariant & GetMapElementVal(ITERATE_t index) const
Definition: cVarMap.h:162
UNITTEST2_PREDEF(cVarMap)
const cVariant & operator[](const ATOMCHAR_t *pszKey) const
Definition: cVarMap.h:198
cVarTuplePtr FindKeyPtrX(const ATOMCHAR_t *pszKeyX) const
HRESULT s_InvokeExtProp(const cVariant &vArgs, cVariant &vValRet)
virtual bool isValidCheck() const noexcept override
Definition: cVarMap.h:61
cVariant m_vVal
Equate the m_aKey name to this cVariant Val.
Definition: cVarMap.h:46
size_t GetHeapStats(OUT ITERATE_t &iAllocCount) const
Definition: cVarMap.h:90
CHEAPOBJECT_IMPL
Definition: cVarMap.h:42
ATOMCODE_t get_HashCode() const noexcept
Definition: cVarMap.h:74
cAtomRef get_KeyA() const noexcept
Definition: cVarMap.h:79
virtual ~cVarTuple()
Definition: cVarMap.h:57
HRESULT DisposeThis()
Definition: cVarMap.h:84
cVarTuple(cAtomRef aKey, const cVariant &vVal)
Definition: cVarMap.h:53
cVarTuple(cAtomRef aKey)
Definition: cVarMap.h:49
Definition: cVarMap.h:248
cVariantMap(const cVarMap &rMap)
Definition: cVarMap.h:257
cVariantMap()
Definition: cVarMap.h:254
Definition: cVariant.h:26
static const cVariant k_VarNULL
VARTYPE_NoType isNoType()
Definition: cVariant.h:39
size_t GetHeapStats(OUT ITERATE_t &iAllocCount) const
Definition: cVariant.cpp:74
void SetNoType()
empty example of the type.
Definition: cVariant.h:208
ITERATE_t GetSize() const noexcept
Definition: cArray.h:137
REF_t GetAt(ITERATE_t index) const noexcept
Definition: cArraySort.h:440
bool IsValidIndex(ITERATE_t i) const noexcept
Definition: cArraySort.h:432
Definition: cArraySortRef.h:60
bool isValidCheck() const noexcept
Definition: cAtom.h:133
ATOMCODE_t get_HashCode() const noexcept
Definition: cAtom.h:112
size_t GetHeapStats(OUT ITERATE_t &iAllocCount) const
Definition: cAtom.cpp:171
Definition: cHeapObject.h:38
virtual bool isValidCheck() const noexcept
Definition: cHeapObject.h:94
Definition: cNonCopyable.h:17
Definition: cRefPtr.h:225
Definition: cStream.h:126
Definition: IScriptableObj.h:38
Definition: IScriptableObj.h:51
Definition: IScriptableObj.h:62
VARTYPE_TYPE
< define types of structure/record elements. (COM uses VARTYPE=VARENUM for this) stored as BYTE
Definition: cVariantType.h:19
@ VARTYPE_NoType
Definition: cVariantType.h:24
UNITTEST2_PREDEF(cQuadtree)
cRefPtr< cVarTuple > cVarTuplePtr
Definition: cVarMap.h:102
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
int COMPARE_t
result of compare. 0=same, 1=a>b, -1=a<b
Definition: cValT.h:17
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
HASHCODE32_t ATOMCODE_t
Encode a atom as a 32 bit hashcode instead of using its name/pointer. StrT::GetHashCode32()
Definition: cAtom.h:18
int ITERATE_t
like size_t but signed
Definition: Index.h:28
char ATOMCHAR_t
the char form (UNICODE or not) for an atom. (for symbolic names)
Definition: StrConst.h:15
uint16 index
Definition: sample3.cpp:29
Definition: cVariantData.h:37