tesseract  5.0.0-alpha-619-ge9db
elst.h File Reference
#include <cstdio>
#include <tesseract/serialis.h>
#include "lsterr.h"

Go to the source code of this file.

Classes

class  ELIST_LINK
 
class  ELIST
 
class  ELIST_ITERATOR
 

Macros

#define QUOTE_IT(parm)   #parm
 
#define ELISTIZEH_A(CLASSNAME)
 
#define ELISTIZEH_B(CLASSNAME)
 
#define ELISTIZEH_C(CLASSNAME)
 
#define ELISTIZEH(CLASSNAME)
 
#define ELISTIZE(CLASSNAME)
 

Macro Definition Documentation

◆ ELISTIZE

#define ELISTIZE (   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(ELIST_LINK *link) { \
delete reinterpret_cast<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 919 of file elst.h.

◆ ELISTIZEH

#define ELISTIZEH (   CLASSNAME)
Value:
\
ELISTIZEH_A(CLASSNAME) \
ELISTIZEH_B(CLASSNAME) \
ELISTIZEH_C(CLASSNAME)

Definition at line 907 of file elst.h.

◆ ELISTIZEH_A

#define ELISTIZEH_A (   CLASSNAME)
Value:
\
extern DLLSYM void CLASSNAME##_zapper(ELIST_LINK* link);

Definition at line 820 of file elst.h.

◆ ELISTIZEH_B

#define ELISTIZEH_B (   CLASSNAME)

Definition at line 824 of file elst.h.

◆ ELISTIZEH_C

#define ELISTIZEH_C (   CLASSNAME)

Definition at line 858 of file elst.h.

◆ QUOTE_IT

#define QUOTE_IT (   parm)    #parm

Definition at line 790 of file elst.h.

DLLSYM
#define DLLSYM
Definition: platform.h:21
ELISTIZEH_B
#define ELISTIZEH_B(CLASSNAME)
Definition: elst.h:824
ELISTIZEH_C
#define ELISTIZEH_C(CLASSNAME)
Definition: elst.h:858
ELIST_LINK
Definition: elst.h:74