All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
elst.h File Reference
#include <stdio.h>
#include "host.h"
#include "serialis.h"
#include "lsterr.h"

Go to the source code of this file.

Classes

class  ELIST_LINK
 
class  ELIST
 
class  ELIST_ITERATOR
 

Macros

#define QUOTE_IT(parm)   #parm
 
#define ELISTIZEH_A(CLASSNAME)
 
#define ELISTIZEH_B(CLASSNAME)
 
#define ELISTIZEH_C(CLASSNAME)
 
#define ELISTIZEH(CLASSNAME)
 
#define ELISTIZE(CLASSNAME)
 

Macro Definition Documentation

#define ELISTIZE (   CLASSNAME)
Value:
\
/*********************************************************************** \
* CLASSNAME##_zapper \
* \
* A function which can delete a CLASSNAME element. This is passed to the \
* generic clear list member function so that when a list is cleared the \
* elements on the list are properly destroyed from the base class, even \
* though we dont use a virtual destructor function. \
**********************************************************************/ \
\
DLLSYM void CLASSNAME##_zapper(ELIST_LINK* link) { \
delete reinterpret_cast<CLASSNAME*>(link); \
} \
\
/* Become a deep copy of src_list*/ \
void CLASSNAME##_LIST::deep_copy(const CLASSNAME##_LIST* src_list, \
CLASSNAME* (*copier)(const CLASSNAME*)) { \
\
CLASSNAME##_IT from_it(const_cast<CLASSNAME##_LIST*>(src_list)); \
CLASSNAME##_IT to_it(this); \
\
for (from_it.mark_cycle_pt(); !from_it.cycled_list(); from_it.forward()) \
to_it.add_after_then_move((*copier)(from_it.data())); \
}
#define DLLSYM
Definition: platform.h:25

Definition at line 994 of file elst.h.

#define ELISTIZEH (   CLASSNAME)
Value:
ELISTIZEH_A( CLASSNAME ) \
ELISTIZEH_B( CLASSNAME ) \
ELISTIZEH_C( CLASSNAME )
#define ELISTIZEH_B(CLASSNAME)
Definition: elst.h:898
#define ELISTIZEH_A(CLASSNAME)
Definition: elst.h:894
#define ELISTIZEH_C(CLASSNAME)
Definition: elst.h:932

Definition at line 981 of file elst.h.

#define ELISTIZEH_A (   CLASSNAME)
Value:
\
extern DLLSYM void CLASSNAME##_zapper(ELIST_LINK* link);
#define DLLSYM
Definition: platform.h:25

Definition at line 894 of file elst.h.

#define ELISTIZEH_B (   CLASSNAME)

Definition at line 898 of file elst.h.

#define ELISTIZEH_C (   CLASSNAME)

Definition at line 932 of file elst.h.

#define QUOTE_IT (   parm)    #parm

Definition at line 862 of file elst.h.