Tesseract  3.02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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

class  CLIST_LINK
class  CLIST
class  CLIST_ITERATOR

Macros

#define QUOTE_IT(parm)   #parm
#define CLISTIZEH_A(CLASSNAME)
#define CLISTIZEH_B(CLASSNAME)
#define CLISTIZEH_C(CLASSNAME)
#define CLISTIZEH(CLASSNAME)
#define CLISTIZE(CLASSNAME)

Macro Definition Documentation

#define CLISTIZE (   CLASSNAME)
Value:
\
/*********************************************************************** \
* CLASSNAME##_c1_zapper \
* \
* A function which can delete a CLASSNAME element. This is passed to the \
* generic deep_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##_c1_zapper( /*delete a link*/ \
void* link) /*link to delete*/ \
{ \
delete (CLASSNAME *) link; \
} \

Definition at line 944 of file clst.h.

#define CLISTIZEH (   CLASSNAME)
Value:
\
CLISTIZEH_A( CLASSNAME ) \
CLISTIZEH_B( CLASSNAME ) \
CLISTIZEH_C( CLASSNAME )

Definition at line 932 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); /*source link */

Definition at line 865 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 operator=( /* prevent assign */ \
const CLASSNAME##_CLIST&) \
{ DONT_ASSIGN_LISTS.error( QUOTE_IT( CLASSNAME##_CLIST ), \
ABORT, NULL ); }

Definition at line 873 of file clst.h.

#define CLISTIZEH_C (   CLASSNAME)

Definition at line 896 of file clst.h.

#define QUOTE_IT (   parm)    #parm

Definition at line 831 of file clst.h.