#include <stdio.h>
#include "host.h"
#include "serialis.h"
#include "lsterr.h"
Go to the source code of this file.
#define CLISTIZE | ( | CLASSNAME | ) |
CLISTIZE( CLASSNAME ) and CLISTIZE_S( CLASSNAME ) CLISTIZE_S is a simple extension to CLISTIZE.
#define CLISTIZEH | ( | CLASSNAME | ) |
Value:
\ CLISTIZEH_A( CLASSNAME ) \ \ CLISTIZEH_B( CLASSNAME ) \ \ CLISTIZEH_C( CLASSNAME )
#define CLISTIZEH_A | ( | CLASSNAME | ) |
Value:
\ extern DLLSYM void CLASSNAME##_c1_zapper( /*delete a link*/ \ void* link); /*link to delete*/ \ \ extern DLLSYM void* CLASSNAME##_c1_copier( /*deep copy a link*/ \ void* old_element);
These macros are constructed from 3 fragments CLISTIZEH_A, CLISTIZEH_B and CLISTIZEH_C. CLISTIZEH is simply a concatenation of these parts. CLISTIZEH_S has some additional bits thrown in the gaps.
#define CLISTIZEH_B | ( | CLASSNAME | ) |
Value:
\ /*********************************************************************** \ * CLASS - CLASSNAME##_CLIST \ * \ * List class for class CLASSNAME \ * \ **********************************************************************/ \ \ class DLLSYM CLASSNAME##_CLIST : public CLIST \ { \ public: \ CLASSNAME##_CLIST():CLIST() {} \ /* constructor */ \ \ CLASSNAME##_CLIST( /* dont construct */ \ const CLASSNAME##_CLIST&) /*by initial assign*/ \ { DONT_CONSTRUCT_LIST_BY_COPY.error( QUOTE_IT( CLASSNAME##_CLIST ), \ ABORT, NULL ); } \ \ void deep_clear() /* delete elements */ \ { CLIST::internal_deep_clear( &CLASSNAME##_c1_zapper ); } \ \ void deep_copy( /* become a deep */ \ const CLASSNAME##_CLIST*list) /* copy of src list*/ \ { CLIST::internal_deep_copy( &CLASSNAME##_c1_copier, list ); } \ \ void operator=( /* prevent assign */ \ const CLASSNAME##_CLIST&) \ { DONT_ASSIGN_LISTS.error( QUOTE_IT( CLASSNAME##_CLIST ), \ ABORT, NULL ); }
#define CLISTIZEH_S | ( | CLASSNAME | ) |
Value:
\ CLISTIZEH_A( CLASSNAME ) \ \ extern DLLSYM void CLASSNAME##_c1_serialiser( \ FILE* f, \ void* element); \ \ extern DLLSYM void* CLASSNAME##_c1_de_serialiser( \ FILE* f); \ \ CLISTIZEH_B( CLASSNAME ) \ \ void dump( /* dump to file */ \ FILE* f) \ { CLIST::internal_dump( f, &CLASSNAME##_c1_serialiser );} \ \ void de_dump( /* get from file */ \ FILE* f) \ { CLIST::internal_de_dump( f, &CLASSNAME##_c1_de_serialiser );} \ \ make_serialise( CLASSNAME##_CLIST ) \ \ CLISTIZEH_C( CLASSNAME )
#define QUOTE_IT | ( | parm | ) | #parm |