Tesseract  3.02
tesseract-ocr/ccutil/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

Defines

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

Define Documentation

#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 dont 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 996 of file elst2.h.

#define ELIST2IZEH (   CLASSNAME)
Value:
\
ELIST2IZEH_A( CLASSNAME )                                                                                                                                               \
																										\
ELIST2IZEH_B( CLASSNAME )                                                                                                                                               \
																										\
ELIST2IZEH_C( CLASSNAME )

Definition at line 983 of file elst2.h.

#define ELIST2IZEH_A (   CLASSNAME)
Value:
\
extern DLLSYM void                      CLASSNAME##_zapper(                     /*delete a link*/               \
ELIST2_LINK*                            link);

Definition at line 910 of file elst2.h.

#define ELIST2IZEH_B (   CLASSNAME)

Definition at line 915 of file elst2.h.

#define ELIST2IZEH_C (   CLASSNAME)

Definition at line 945 of file elst2.h.

#define QUOTE_IT (   parm)    #parm

Definition at line 877 of file elst2.h.