#include <stdio.h>#include "host.h"#include "serialis.h"#include "lsterr.h"Go to the source code of this file.
Classes | |
| class | ELIST2_LINK |
| class | ELIST2 |
| class | ELIST2_ITERATOR |
Defines | |
| #define | QUOTE_IT(parm) #parm |
| #define | ELIST2IZEH_A(CLASSNAME) |
| #define | ELIST2IZEH_B(CLASSNAME) |
| #define | ELIST2IZEH_C(CLASSNAME) |
| #define | ELIST2IZEH(CLASSNAME) |
| #define | ELIST2IZE(CLASSNAME) |
| #define ELIST2IZE | ( | CLASSNAME | ) |
\
\
\
DLLSYM void CLASSNAME##_zapper( /*delete a link*/ \
ELIST2_LINK* link) /*link to delete*/ \
{ \
delete (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 ELIST2IZEH | ( | CLASSNAME | ) |
\ ELIST2IZEH_A( CLASSNAME ) \ \ ELIST2IZEH_B( CLASSNAME ) \ \ ELIST2IZEH_C( CLASSNAME )
| #define ELIST2IZEH_A | ( | CLASSNAME | ) |
\ extern DLLSYM void CLASSNAME##_zapper( /*delete a link*/ \ ELIST2_LINK* link);
| #define ELIST2IZEH_B | ( | CLASSNAME | ) |
\
\
\
class DLLSYM CLASSNAME##_LIST : public ELIST2 \
{ \
public: \
CLASSNAME##_LIST():ELIST2() {} \
/* constructor */ \
\
CLASSNAME##_LIST( /* dont construct */ \
const CLASSNAME##_LIST&) /*by initial assign*/\
{ DONT_CONSTRUCT_LIST_BY_COPY.error( QUOTE_IT( CLASSNAME##_LIST ), \
ABORT, NULL ); } \
\
void clear() /* delete elements */\
{ ELIST2::internal_clear( &CLASSNAME##_zapper ); } \
\
~CLASSNAME##_LIST() /* destructor */ \
{ clear(); } \
\
/* Become a deep copy of src_list*/ \
void deep_copy(const CLASSNAME##_LIST* src_list, \
CLASSNAME* (*copier)(const CLASSNAME*)); \
\
void operator=( /* prevent assign */ \
const CLASSNAME##_LIST&) \
{ DONT_ASSIGN_LISTS.error( QUOTE_IT( CLASSNAME##_LIST ), \
ABORT, NULL ); }
| #define ELIST2IZEH_C | ( | CLASSNAME | ) |
| #define QUOTE_IT | ( | parm | ) | #parm |
1.6.3