5 #define G_EXC_RAISE_CONT(amessage) G_EXC_RAISE_MSG(g::cont::ContException,amessage)
11 #define G_CONT_INDEX_NOT_VALID -1
14 #ifndef G_LST_PAGE_MASK_BITS
15 # define G_LST_PAGE_MASK_BITS 4
18 #ifndef G_VECT_AL_DELTA_MASK_BITS
19 # define G_VECT_AL_DELTA_MASK_BITS 4
29 enum IterFrom_t { head , tail };
32 class AllocationPolicyAbstract;
35 typedef HeapAbstract* (*StandardHeapPolicyPf)();
37 typedef AllocationPolicyAbstract* (*StandardRefImplPolicyPf)();
38 typedef void (*MoveDataPolicyPf_t) (
const char* aFrom ,
char* aTo ,
size_t aSize );
40 extern void G_LIB_ITEM move_data_default (
const char* aFrom ,
char* aTo ,
size_t aSize );
47 static MoveDataPolicyPf_t move_DataPolicyPf;
48 static StandardRefImplPolicyPf standard_RefImplpolicyPf;
57 virtual int first()
const = 0;
58 virtual int last()
const = 0;
59 virtual void forward (
int& ,
unsigned int aInc )
const = 0;
60 virtual void backward (
int& ,
unsigned int aDec )
const = 0;
61 virtual bool isIn (
int )
const = 0;
62 virtual T* getPtr (
int )
const = 0;
66 template <
class T >
inline void move_data (
const T* aFrom , T* aTo ,
size_t aCardinality = 1 ) { (*Policies::move_DataPolicyPf) ( (
char*)aFrom ,(
char*)(aTo),
sizeof(T)*aCardinality ); }
67 template <>
inline void move_data (
const void* aFrom ,
void* aTo ,
size_t aSize ) { move_data<char>((
char*)aFrom,(
char*)aTo,aSize); }
Definition: g_cont_common.h:44
#define G_EXC_DEFINE(aexctypename, abaseexctypename)
Definition: g_exception_macros.h:39
Definition: g.mthread.ThreadSimpleEvent.h:5
Definition: g_cont_common.h:52