Tesseract  3.02
tesseract-ocr/ccutil/elst.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  ELIST_LINK
class  ELIST
class  ELIST_ITERATOR

Defines

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

Define Documentation

#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 dont 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 978 of file elst.h.

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

Definition at line 965 of file elst.h.

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

Definition at line 896 of file elst.h.

#define ELISTIZEH_B (   CLASSNAME)

Definition at line 900 of file elst.h.

#define ELISTIZEH_C (   CLASSNAME)

Definition at line 930 of file elst.h.

#define QUOTE_IT (   parm)    #parm

Definition at line 864 of file elst.h.