commore  1.0.6-SNAPSHOT
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
C_Compatibility.cpp File Reference

Macros

#define FCT_CREATE_LIST(listName, typeCommore)   CMREXD CMR_C_##listName CMRC_API CMRC_##listName##_create() { List##typeCommore* l = new List##typeCommore(); return l; } \
 
#define FCT_REMOVE_LIST(listName, typeCommore)   CMREXD void CMRC_API CMRC_##listName##_delete(CMR_C_##listName l) { delete ((List##typeCommore*)l); l = NULL; } \
 
#define FCT_CLEAR_LIST(listName, typeCommore)   CMREXD void CMRC_API CMRC_##listName##_clear(CMR_C_##listName l) { List##typeCommore& _l = *((List##typeCommore*)l); _l.clear();} \
 
#define FCT_ADD_LIST(listName, typeCommore, T)   CMREXD void CMRC_API CMRC_##listName##_add(CMR_C_##listName l, T v) { List##typeCommore& _l = *((List##typeCommore*)l); _l.add(v);} \
 
#define FCT_ADD_OBJECT_LIST(listName, typeCommore, T)   CMREXD void CMRC_API CMRC_##listName##_add(CMR_C_##listName l, T v) { List##typeCommore& _l = *((List##typeCommore*)l); _l.add(*(typeCommore*)v);} \
 
#define FCT_BEGIN_LIST(listName, iteratorName, typeCommore)   CMREXD CMR_C_##iteratorName CMRC_API CMRC_##listName##_begin(CMR_C_##listName l) { List##typeCommore& _l = *((List##typeCommore*)l); return new List##typeCommore::iterator(_l.begin());} \
 
#define FCT_DELETE_ITERATOR(iteratorName, typeCommore)   CMREXD void CMRC_API CMRC_##iteratorName##_delete(CMR_C_##iteratorName it) {delete ((List##typeCommore::iterator*)it); it = NULL;} \
 
#define FCT_GET_ITERATOR(iteratorName, T, typeCommore)   CMREXD T CMRC_API CMRC_##iteratorName##_get(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return (*i);} \
 
#define FCT_GET_STRING_ITERATOR(iteratorName, T, typeCommore)   CMREXD T CMRC_API CMRC_##iteratorName##_get(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return (*i).c_str();} \
 
#define FCT_GET_OBJECT_ITERATOR(iteratorName, T, typeCommore)   CMREXD T CMRC_API CMRC_##iteratorName##_get(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return &(*i);} \
 
#define FCT_NEXT_ITERATOR(iteratorName, typeCommore)   CMREXD bool CMRC_API CMRC_##iteratorName##_next(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); ++i; return i.more();} \
 
#define FCT_MORE_ITERATOR(iteratorName, typeCommore)   CMREXD bool CMRC_API CMRC_##iteratorName##_more(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return i.more();} \
 
#define GEN_FCT_ARRAY(ArrayName, T)
 
#define GEN_LIST_FUNC(listName, iteratorName, T, typeCommore)
 
#define GEN_LIST_FUNC_STRING(listName, iteratorName, T, typeCommore)
 
#define GEN_LIST_FUNC_OBJECT(listName, iteratorName, T, typeCommore)
 

Functions

 GEN_LIST_FUNC (LIST_BOOL, ITERATOR_BOOL, bool, Bool)
 
 GEN_LIST_FUNC (LIST_INT, ITERATOR_INT, int, Int)
 
 GEN_LIST_FUNC (LIST_LONG, ITERATOR_LONG, long, Long)
 
 GEN_LIST_FUNC (LIST_FLOAT, ITERATOR_FLOAT, float, Float)
 
 GEN_LIST_FUNC (LIST_DOUBLE, ITERATOR_DOUBLE, double, Double)
 
 GEN_LIST_FUNC_STRING (LIST_ASTRING, ITERATOR_ASTRING, const char *, AString)
 
 GEN_LIST_FUNC_STRING (LIST_STRING, ITERATOR_STRING, const wchar_t *, String)
 
 GEN_LIST_FUNC_OBJECT (LIST_BLOB, ITERATOR_BLOB, CMR_C_BLOB, Blob)
 
 GEN_LIST_FUNC_OBJECT (LIST_TIMEDATE, ITERATOR_TIMEDATE, CMR_C_TIMEDATE, TimeDate)
 
 GEN_LIST_FUNC_OBJECT (LIST_TIMEPERIOD, ITERATOR_TIMEPERIOD, CMR_C_TIMEPERIOD, TimePeriod)
 
CMREXD CMR_C_BLOB CMRC_API CMRC_BLOB_create (char *content, size_t size, size_t allocated_size)
 
CMREXD void CMRC_API CMRC_BLOB_delete (CMR_C_BLOB blob)
 
CMREXD char *CMRC_API CMRC_BLOB_set (CMR_C_BLOB blob, const char *content, size_t size, size_t allocated_size)
 
CMREXD const char *CMRC_API CMRC_BLOB_get_content (CMR_C_BLOB blob)
 
CMREXD size_t CMRC_API CMRC_BLOB_get_size (CMR_C_BLOB blob)
 
CMREXD void CMRC_API CMRC_BLOB_clear (CMR_C_BLOB blob)
 
CMREXD CMR_C_TIMEDATE CMRC_API CMRC_TIMEDATE_create (int year, int month, int day, int hour, int min, int second, int mums)
 
CMREXD void CMRC_API CMRC_TIMEDATE_delete (CMR_C_TIMEDATE timeDate)
 
CMREXD CMR_C_TIMEDATE CMRC_API CMRC_TIMEDATE_now ()
 
CMREXD CMR_C_TIMEPERIOD CMRC_API CMRC_TIMEDATE_get_time (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_year (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_month (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_day (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_hour (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_minute (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_second (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_millisecond (CMR_C_TIMEDATE timeDate)
 
CMREXD int CMRC_API CMRC_TIMEDATE_get_microsecond (CMR_C_TIMEDATE timeDate)
 
CMREXD CMR_C_TIMEPERIOD CMRC_API CMRC_TIMEPERIOD_create (long seconds)
 
CMREXD void CMRC_API CMRC_TIMEPERIOD_delete (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_days (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_hours (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_minutes (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_seconds (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_days (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_hours (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_minutes (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_seconds (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_microseconds (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD long CMRC_API CMRC_TIMEPERIOD_milliseconds (CMR_C_TIMEPERIOD timePeriod)
 
CMREXD int CMRC_API CMRC_TUPLE_copy (CMR_C_TUPLE src, CMR_C_TUPLE dst)
 
CMREXD int CMRC_API CMRC_TUPLE_splice (CMR_C_TUPLE src, CMR_C_TUPLE dst)
 

Macro Definition Documentation

#define FCT_ADD_LIST (   listName,
  typeCommore,
 
)    CMREXD void CMRC_API CMRC_##listName##_add(CMR_C_##listName l, T v) { List##typeCommore& _l = *((List##typeCommore*)l); _l.add(v);} \
#define FCT_ADD_OBJECT_LIST (   listName,
  typeCommore,
 
)    CMREXD void CMRC_API CMRC_##listName##_add(CMR_C_##listName l, T v) { List##typeCommore& _l = *((List##typeCommore*)l); _l.add(*(typeCommore*)v);} \
#define FCT_BEGIN_LIST (   listName,
  iteratorName,
  typeCommore 
)    CMREXD CMR_C_##iteratorName CMRC_API CMRC_##listName##_begin(CMR_C_##listName l) { List##typeCommore& _l = *((List##typeCommore*)l); return new List##typeCommore::iterator(_l.begin());} \
#define FCT_CLEAR_LIST (   listName,
  typeCommore 
)    CMREXD void CMRC_API CMRC_##listName##_clear(CMR_C_##listName l) { List##typeCommore& _l = *((List##typeCommore*)l); _l.clear();} \
#define FCT_CREATE_LIST (   listName,
  typeCommore 
)    CMREXD CMR_C_##listName CMRC_API CMRC_##listName##_create() { List##typeCommore* l = new List##typeCommore(); return l; } \
#define FCT_DELETE_ITERATOR (   iteratorName,
  typeCommore 
)    CMREXD void CMRC_API CMRC_##iteratorName##_delete(CMR_C_##iteratorName it) {delete ((List##typeCommore::iterator*)it); it = NULL;} \
#define FCT_GET_ITERATOR (   iteratorName,
  T,
  typeCommore 
)    CMREXD T CMRC_API CMRC_##iteratorName##_get(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return (*i);} \
#define FCT_GET_OBJECT_ITERATOR (   iteratorName,
  T,
  typeCommore 
)    CMREXD T CMRC_API CMRC_##iteratorName##_get(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return &(*i);} \
#define FCT_GET_STRING_ITERATOR (   iteratorName,
  T,
  typeCommore 
)    CMREXD T CMRC_API CMRC_##iteratorName##_get(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return (*i).c_str();} \
#define FCT_MORE_ITERATOR (   iteratorName,
  typeCommore 
)    CMREXD bool CMRC_API CMRC_##iteratorName##_more(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); return i.more();} \
#define FCT_NEXT_ITERATOR (   iteratorName,
  typeCommore 
)    CMREXD bool CMRC_API CMRC_##iteratorName##_next(CMR_C_##iteratorName it) { List##typeCommore::iterator& i = *((List##typeCommore::iterator*)it); ++i; return i.more();} \
#define FCT_REMOVE_LIST (   listName,
  typeCommore 
)    CMREXD void CMRC_API CMRC_##listName##_delete(CMR_C_##listName l) { delete ((List##typeCommore*)l); l = NULL; } \
#define GEN_FCT_ARRAY (   ArrayName,
 
)
Value:
CMREXD CMR_C_##ArrayName CMRC_API CMRC_##ArrayName##_create() { return new Array<T>();} \
CMREXD void CMRC_API CMRC_##ArrayName##_delete(CMR_C_##ArrayName l) { delete (Array<T>*)l;} \
CMREXD T CMRC_API CMRC_##ArrayName##_get(CMR_C_##ArrayName l, int index, T v) { Array<T>& _l = *((Array<T>*)l); return _l[index];} \
CMREXD void CMRC_API CMRC_##ArrayName##_set(CMR_C_##ArrayName l, int index, T v) { Array<T>& _l = *((Array<T>*)l); _l[index] = v;} \
CMREXD size_t CMRC_API CMRC_##ArrayName##_size(CMR_C_##ArrayName l, T v) { Array<T>& _l = *((Array<T>*)l); return _l.size();} \
CMREXD void CMRC_API CMRC_##ArrayName##_add(CMR_C_##ArrayName l, T v) { Array<T>& _l = *((Array<T>*)l); _l.add(v);}
#define CMRC_API
Definition: C_Compatibility.h:25
T & add()
Definition: Array.h:86
#define CMREXD
Definition: Compiler.h:22
size_t size() const
Definition: BaseArray.cpp:168
Definition: Array.h:21
#define GEN_LIST_FUNC (   listName,
  iteratorName,
  T,
  typeCommore 
)
Value:
FCT_CREATE_LIST(listName, typeCommore) \
FCT_REMOVE_LIST(listName, typeCommore) \
FCT_CLEAR_LIST(listName, typeCommore) \
FCT_ADD_LIST(listName, typeCommore, T) \
FCT_BEGIN_LIST(listName, iteratorName, typeCommore) \
FCT_DELETE_ITERATOR(iteratorName, typeCommore) \
FCT_GET_ITERATOR(iteratorName, T, typeCommore) \
FCT_NEXT_ITERATOR(iteratorName, typeCommore) \
FCT_MORE_ITERATOR(iteratorName, typeCommore)
#define FCT_CLEAR_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:19
#define FCT_MORE_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:46
#define FCT_REMOVE_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:16
#define FCT_ADD_LIST(listName, typeCommore, T)
Definition: C_Compatibility.cpp:22
#define FCT_CREATE_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:13
#define FCT_BEGIN_LIST(listName, iteratorName, typeCommore)
Definition: C_Compatibility.cpp:28
#define FCT_GET_ITERATOR(iteratorName, T, typeCommore)
Definition: C_Compatibility.cpp:34
#define FCT_DELETE_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:31
#define FCT_NEXT_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:43
#define GEN_LIST_FUNC_OBJECT (   listName,
  iteratorName,
  T,
  typeCommore 
)
Value:
FCT_CREATE_LIST(listName, typeCommore) \
FCT_REMOVE_LIST(listName, typeCommore) \
FCT_CLEAR_LIST(listName, typeCommore) \
FCT_ADD_OBJECT_LIST(listName, typeCommore, T) \
FCT_BEGIN_LIST(listName, iteratorName, typeCommore) \
FCT_DELETE_ITERATOR(iteratorName, typeCommore) \
FCT_GET_OBJECT_ITERATOR(iteratorName, T, typeCommore) \
FCT_NEXT_ITERATOR(iteratorName, typeCommore) \
FCT_MORE_ITERATOR(iteratorName, typeCommore)
#define FCT_ADD_OBJECT_LIST(listName, typeCommore, T)
Definition: C_Compatibility.cpp:25
#define FCT_CLEAR_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:19
#define FCT_MORE_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:46
#define FCT_GET_OBJECT_ITERATOR(iteratorName, T, typeCommore)
Definition: C_Compatibility.cpp:40
#define FCT_REMOVE_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:16
#define FCT_CREATE_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:13
#define FCT_BEGIN_LIST(listName, iteratorName, typeCommore)
Definition: C_Compatibility.cpp:28
#define FCT_DELETE_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:31
#define FCT_NEXT_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:43
#define GEN_LIST_FUNC_STRING (   listName,
  iteratorName,
  T,
  typeCommore 
)
Value:
FCT_CREATE_LIST(listName, typeCommore) \
FCT_REMOVE_LIST(listName, typeCommore) \
FCT_CLEAR_LIST(listName, typeCommore) \
FCT_ADD_LIST(listName, typeCommore, T) \
FCT_BEGIN_LIST(listName, iteratorName, typeCommore) \
FCT_DELETE_ITERATOR(iteratorName, typeCommore) \
FCT_GET_STRING_ITERATOR(iteratorName, T, typeCommore) \
FCT_NEXT_ITERATOR(iteratorName, typeCommore) \
FCT_MORE_ITERATOR(iteratorName, typeCommore)
#define FCT_CLEAR_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:19
#define FCT_MORE_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:46
#define FCT_REMOVE_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:16
#define FCT_ADD_LIST(listName, typeCommore, T)
Definition: C_Compatibility.cpp:22
#define FCT_CREATE_LIST(listName, typeCommore)
Definition: C_Compatibility.cpp:13
#define FCT_BEGIN_LIST(listName, iteratorName, typeCommore)
Definition: C_Compatibility.cpp:28
#define FCT_GET_STRING_ITERATOR(iteratorName, T, typeCommore)
Definition: C_Compatibility.cpp:37
#define FCT_DELETE_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:31
#define FCT_NEXT_ITERATOR(iteratorName, typeCommore)
Definition: C_Compatibility.cpp:43

Function Documentation

CMREXD void CMRC_API CMRC_BLOB_clear ( CMR_C_BLOB  blob)
CMREXD CMR_C_BLOB CMRC_API CMRC_BLOB_create ( char *  content,
size_t  size,
size_t  allocated_size 
)
CMREXD void CMRC_API CMRC_BLOB_delete ( CMR_C_BLOB  blob)
CMREXD const char* CMRC_API CMRC_BLOB_get_content ( CMR_C_BLOB  blob)
CMREXD size_t CMRC_API CMRC_BLOB_get_size ( CMR_C_BLOB  blob)
CMREXD char* CMRC_API CMRC_BLOB_set ( CMR_C_BLOB  blob,
const char *  content,
size_t  size,
size_t  allocated_size 
)
CMREXD CMR_C_TIMEDATE CMRC_API CMRC_TIMEDATE_create ( int  year,
int  month,
int  day,
int  hour,
int  min,
int  second,
int  mums 
)
CMREXD void CMRC_API CMRC_TIMEDATE_delete ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_day ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_hour ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_microsecond ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_millisecond ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_minute ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_month ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_second ( CMR_C_TIMEDATE  timeDate)
CMREXD CMR_C_TIMEPERIOD CMRC_API CMRC_TIMEDATE_get_time ( CMR_C_TIMEDATE  timeDate)
CMREXD int CMRC_API CMRC_TIMEDATE_get_year ( CMR_C_TIMEDATE  timeDate)
CMREXD CMR_C_TIMEDATE CMRC_API CMRC_TIMEDATE_now ( )
CMREXD CMR_C_TIMEPERIOD CMRC_API CMRC_TIMEPERIOD_create ( long  seconds)
CMREXD long CMRC_API CMRC_TIMEPERIOD_days ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD void CMRC_API CMRC_TIMEPERIOD_delete ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_hours ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_microseconds ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_milliseconds ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_minutes ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_seconds ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_days ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_hours ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_minutes ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD long CMRC_API CMRC_TIMEPERIOD_to_seconds ( CMR_C_TIMEPERIOD  timePeriod)
CMREXD int CMRC_API CMRC_TUPLE_copy ( CMR_C_TUPLE  src,
CMR_C_TUPLE  dst 
)
CMREXD int CMRC_API CMRC_TUPLE_splice ( CMR_C_TUPLE  src,
CMR_C_TUPLE  dst 
)
GEN_LIST_FUNC ( LIST_BOOL  ,
ITERATOR_BOOL  ,
bool  ,
Bool   
)
GEN_LIST_FUNC ( LIST_INT  ,
ITERATOR_INT  ,
int  ,
Int   
)
GEN_LIST_FUNC ( LIST_LONG  ,
ITERATOR_LONG  ,
long  ,
Long   
)
GEN_LIST_FUNC ( LIST_FLOAT  ,
ITERATOR_FLOAT  ,
float  ,
Float   
)
GEN_LIST_FUNC ( LIST_DOUBLE  ,
ITERATOR_DOUBLE  ,
double  ,
Double   
)
GEN_LIST_FUNC_OBJECT ( LIST_BLOB  ,
ITERATOR_BLOB  ,
CMR_C_BLOB  ,
Blob   
)
GEN_LIST_FUNC_OBJECT ( LIST_TIMEDATE  ,
ITERATOR_TIMEDATE  ,
CMR_C_TIMEDATE  ,
TimeDate   
)
GEN_LIST_FUNC_OBJECT ( LIST_TIMEPERIOD  ,
ITERATOR_TIMEPERIOD  ,
CMR_C_TIMEPERIOD  ,
TimePeriod   
)
GEN_LIST_FUNC_STRING ( LIST_ASTRING  ,
ITERATOR_ASTRING  ,
const char *  ,
AString   
)
GEN_LIST_FUNC_STRING ( LIST_STRING  ,
ITERATOR_STRING  ,
const wchar_t *  ,
String   
)