ccutil/clst.h File Reference

#include <stdio.h>
#include "host.h"
#include "serialis.h"
#include "lsterr.h"

Go to the source code of this file.

Classes

Defines


Define Documentation

#define CLISTIZE ( CLASSNAME   ) 

CLISTIZE( CLASSNAME ) and CLISTIZE_S( CLASSNAME ) CLISTIZE_S is a simple extension to CLISTIZE.

Definition at line 931 of file clst.h.

#define CLISTIZE_S ( CLASSNAME   ) 

Definition at line 955 of file clst.h.

#define CLISTIZEH ( CLASSNAME   ) 

Value:

\
CLISTIZEH_A( CLASSNAME )                                          \
                                                            \
CLISTIZEH_B( CLASSNAME )                                          \
                                                            \
CLISTIZEH_C( CLASSNAME )

Definition at line 893 of file clst.h.

#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);
CLISTIZEH( CLASSNAME ) and CLISTIZEH_S( CLASSNAME ) MACROS.

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.

Definition at line 822 of file clst.h.

#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 ); }

Definition at line 830 of file clst.h.

#define CLISTIZEH_C ( CLASSNAME   ) 

Definition at line 857 of file clst.h.

#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 )

Definition at line 901 of file clst.h.

#define QUOTE_IT ( parm   )     #parm

Replace <parm> with "\<parm\>". <parm> may be an arbitrary number of tokens.

Definition at line 812 of file clst.h.


Generated on Wed Feb 28 19:49:16 2007 for Tesseract by  doxygen 1.5.1