5 #ifndef _INC_cVariantData_H
6 #define _INC_cVariantData_H
47 static const CYS_t k_CYSMul = 100;
48 static const CY_t k_CYMul = 10000;
71 size_t get_DataSize()
const;
106 size_t get_DataSize()
const;
110 return SUPER_t::GetHeapStats(iAllocCount);
116 template<
class _TYPE =
float >
129 operator const _TYPE*()
const
135 template<
class _TYPE>
141 BYTE m_data[
sizeof(_TYPE)];
156 #define cVariantTypeDEF(a,b,c,d,e,f) c m_##a;
158 #undef cVariantTypeDEF
172 void construct_Atom(
const cAtomRef& a);
174 void construct_String(
const cStringA& s);
175 void construct_String(
const char* pszVal);
176 void construct_StringW(
const cStringW& s);
177 void construct_StringW(
const wchar_t* pwVal);
178 void construct_Blob(
const void* pData,
size_t nSize);
210 return k_VarTypeDef[eVarType];
217 return eVarType == VARTYPE_XObj || eVarType == VARTYPE_UID ;
224 const cStringA& dref_String()
const;
225 const cStringW& dref_StringW()
const;
241 template class CArray<GrayLib::cVariant, const GrayLib::cVariant&>;
242 template class cArrayTyped<GrayLib::cVariant, const GrayLib::cVariant&>;
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define CATTR_PACKED
Definition: GrayCore.h:87
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define IS_INDEX_GOOD(i, q)
cast the (likely) int to unsigned to check for negatives.
Definition: Index.h:35
#define IS_INDEX_BAD(i, q)
cast the (likely) int to unsigned to check for negatives.
Definition: Index.h:34
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define DEBUG_CHECK(exp)
Definition: cDebugAssert.h:90
UINT32 COLORREF
ABGR (high to low bits)
Definition: cVariantData.h:21
Definition: cVarMap.h:109
Definition: cVariantData.h:80
ITERATE_t GetSize() const
Definition: cVariantData.h:96
size_t GetHeapStats(OUT ITERATE_t &iAllocCount) const
Definition: cVariantData.h:108
VARTYPE_TYPE get_VarTypeElem() const
Definition: cVariantData.h:101
Definition: cVariantData.h:56
cVariantArray(const SUPER_t &a)
Definition: cVariantData.h:66
cVariantArray(ITERATE_t iSize=0)
Definition: cVariantData.h:61
Definition: cVariantData.h:145
static const cVariantTypeDef & GetVarTypeDef(VARTYPE_TYPE eVarType) noexcept
Definition: cVariantData.h:202
static IXObjMgr * sm_pIXObjMgr
For cVariant UID to XObject conversion.
Definition: cVariantData.h:163
static bool IsXObj(VARTYPE_TYPE eVarType) noexcept
Definition: cVariantData.h:215
static bool sm_bShowUnsignedAsHex
show unsigned as hex when converting to string. default=true
Definition: cVariantData.h:164
Definition: cVarMap.h:248
Definition: cVariantType.h:46
Definition: cVariantData.h:118
Definition: cVariant.h:26
Definition: cIUnkPtr.h:32
Definition: cRefPtr.h:225
Definition: cStream.h:126
Definition: IXObject.h:69
Definition: IXObject.h:46
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
@ VARTYPE_QTY
Definition: cVariantType.h:29
DECLARE_INTERFACE(IScriptableSetter)
cRefPtr< cVariantMap > cVariantMapPtr
Definition: cVariantData.h:31
cIUnkPtr< IXObject > CIXObjPtr
Definition: cVariantData.h:26
HASHCODE32_t UID_t
Sort of the same as a HASHCODE_t. not the same as UIDINDEX_t.
Definition: cUID.h:18
< 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
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
STR_BLOCK_TYPE
< quotes/brackets and parenthesis must be matched.
Definition: StrT.h:27
uint16 index
Definition: sample3.cpp:29
Definition: cVariantData.h:37
INT32 CYS_t
type for 2 fixed point int for currency/money.
Definition: cVariantData.h:44
INT64 CY_t
type for 4 fixed point int for currency/money.
Definition: cVariantData.h:45
Definition: cVariantData.h:137