tesseract  4.00.00dev
elst2.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  ELIST2_LINK
 
class  ELIST2
 
class  ELIST2_ITERATOR
 

Macros

#define QUOTE_IT(parm)   #parm
 
#define ELIST2IZEH_A(CLASSNAME)
 
#define ELIST2IZEH_B(CLASSNAME)
 
#define ELIST2IZEH_C(CLASSNAME)
 
#define ELIST2IZEH(CLASSNAME)
 
#define ELIST2IZE(CLASSNAME)
 

Macro Definition Documentation

◆ ELIST2IZE

#define ELIST2IZE (   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 don't use a virtual destructor function. \
**********************************************************************/ \
\
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())); \
}

Definition at line 962 of file elst2.h.

◆ ELIST2IZEH

#define ELIST2IZEH (   CLASSNAME)
Value:
\
ELIST2IZEH_A(CLASSNAME) \
ELIST2IZEH_B(CLASSNAME) \
ELIST2IZEH_C(CLASSNAME)
#define ELIST2IZEH_C(CLASSNAME)
Definition: elst2.h:908
#define ELIST2IZEH_B(CLASSNAME)
Definition: elst2.h:866

Definition at line 950 of file elst2.h.

◆ ELIST2IZEH_A

#define ELIST2IZEH_A (   CLASSNAME)
Value:
\
extern DLLSYM void CLASSNAME##_zapper( /*delete a link*/ \
ELIST2_LINK *link); /*link to delete*/
#define DLLSYM
Definition: platform.h:25

Definition at line 861 of file elst2.h.

◆ ELIST2IZEH_B

#define ELIST2IZEH_B (   CLASSNAME)

Definition at line 866 of file elst2.h.

◆ ELIST2IZEH_C

#define ELIST2IZEH_C (   CLASSNAME)

Definition at line 908 of file elst2.h.

◆ QUOTE_IT

#define QUOTE_IT (   parm)    #parm

Definition at line 828 of file elst2.h.