Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cVariant.h File Reference

Go to the source code of this file.

Classes

class  GrayLib::cVariant
 

Namespaces

 GrayLib
 

Macros

#define CTYPE_DEF(a, _TYPE, c, d, e, f, g, h)   cVariant( _TYPE bVal );
 
#define VARIANT_DEF(a, b, c)
 
#define CTYPE_DEF(a, _TYPE, c, d, e, f, g, h)
 
#define VARIANT_OP(a, b, c)
 
#define CTYPE_DEF(a, _TYPE, c, d, e, f, g, h)   VARIANT_OP(a,_TYPE,_TYPE)
 
#define VARIANT_ARRAY_TYPE(_NAME, _TYPE)
 
#define CTYPE_DEF(a, _TYPE, c, d, e, f, g, h)   VARIANT_ARRAY_TYPE(a,_TYPE)
 

Functions

 GrayLib::UNITTEST2_PREDEF (cVariant)
 

Detailed Description

Macro Definition Documentation

◆ CTYPE_DEF [1/4]

#define CTYPE_DEF (   a,
  _TYPE,
  c,
  d,
  e,
  f,
  g,
 
)    cVariant( _TYPE bVal );

◆ CTYPE_DEF [2/4]

#define CTYPE_DEF (   a,
  _TYPE,
  c,
  d,
  e,
  f,
  g,
 
)
Value:
_TYPE get_##a() const; \
void put_##a( _TYPE x );

◆ CTYPE_DEF [3/4]

#define CTYPE_DEF (   a,
  _TYPE,
  c,
  d,
  e,
  f,
  g,
 
)    VARIANT_OP(a,_TYPE,_TYPE)

◆ CTYPE_DEF [4/4]

#define CTYPE_DEF (   a,
  _TYPE,
  c,
  d,
  e,
  f,
  g,
 
)    VARIANT_ARRAY_TYPE(a,_TYPE)

◆ VARIANT_ARRAY_TYPE

#define VARIANT_ARRAY_TYPE (   _NAME,
  _TYPE 
)
Value:
void SetArray##_NAME( ITERATE_t index, _TYPE Val ) { MakeArrayElement(index).put_##_NAME(Val); } \
void AddArray##_NAME( _TYPE Val ) { MakeArrayElement(k_ITERATE_BAD).put_##_NAME(Val); }
int ITERATE_t
like size_t but signed
Definition: Index.h:28
const ITERATE_t k_ITERATE_BAD
Definition: Index.h:30
uint16 index
Definition: sample3.cpp:29

◆ VARIANT_DEF

#define VARIANT_DEF (   a,
  b,
 
)
Value:
b get_##a() const; \
void put_##a( c x );

◆ VARIANT_OP

#define VARIANT_OP (   a,
  b,
 
)
Value:
operator b() const { return( get_##a()); } \
const THIS_t& operator=( c x ) { put_##a( x ); return *this; }