tesseract v5.3.3.20231005
tesseract::ADAPT_CLASS_STRUCT Struct Reference

#include <adaptive.h>

Public Member Functions

 ADAPT_CLASS_STRUCT ()
 
 ~ADAPT_CLASS_STRUCT ()
 

Public Attributes

uint8_t NumPermConfigs
 
uint8_t MaxNumTimesSeen
 
BIT_VECTOR PermProtos
 
BIT_VECTOR PermConfigs
 
LIST TempProtos
 
ADAPTED_CONFIG Config [MAX_NUM_CONFIGS]
 

Detailed Description

Definition at line 55 of file adaptive.h.

Constructor & Destructor Documentation

◆ ADAPT_CLASS_STRUCT()

tesseract::ADAPT_CLASS_STRUCT::ADAPT_CLASS_STRUCT ( )

Definition at line 62 of file adaptive.cpp.

62 {
66
67 PermProtos = NewBitVector(MAX_NUM_PROTOS);
68 PermConfigs = NewBitVector(MAX_NUM_CONFIGS);
69 zero_all_bits(PermProtos, WordsInVectorOfSize(MAX_NUM_PROTOS));
70 zero_all_bits(PermConfigs, WordsInVectorOfSize(MAX_NUM_CONFIGS));
71
72 for (int i = 0; i < MAX_NUM_CONFIGS; i++) {
73 TempConfigFor(this, i) = nullptr;
74 }
75}
#define NIL_LIST
Definition: oldlist.h:75
#define MAX_NUM_PROTOS
Definition: intproto.h:48
#define MAX_NUM_CONFIGS
Definition: intproto.h:47
#define TempConfigFor(Class, ConfigId)
Definition: adaptive.h:91

◆ ~ADAPT_CLASS_STRUCT()

tesseract::ADAPT_CLASS_STRUCT::~ADAPT_CLASS_STRUCT ( )

Definition at line 77 of file adaptive.cpp.

77 {
78 for (int i = 0; i < MAX_NUM_CONFIGS; i++) {
79 if (ConfigIsPermanent(this, i) && PermConfigFor(this, i) != nullptr) {
80 delete PermConfigFor(this, i);
81 } else if (!ConfigIsPermanent(this, i) && TempConfigFor(this, i) != nullptr) {
82 delete TempConfigFor(this, i);
83 }
84 }
85 FreeBitVector(PermProtos);
86 FreeBitVector(PermConfigs);
87 auto list = TempProtos;
88 while (list != nullptr) {
89 delete reinterpret_cast<TEMP_PROTO_STRUCT *>(list->node);
90 list = pop(list);
91 }
92}
#define ConfigIsPermanent(Class, ConfigId)
Definition: adaptive.h:85
#define PermConfigFor(Class, ConfigId)
Definition: adaptive.h:93
LIST pop(LIST list)
Definition: oldlist.cpp:166

Member Data Documentation

◆ Config

ADAPTED_CONFIG tesseract::ADAPT_CLASS_STRUCT::Config[MAX_NUM_CONFIGS]

Definition at line 64 of file adaptive.h.

◆ MaxNumTimesSeen

uint8_t tesseract::ADAPT_CLASS_STRUCT::MaxNumTimesSeen

Definition at line 59 of file adaptive.h.

◆ NumPermConfigs

uint8_t tesseract::ADAPT_CLASS_STRUCT::NumPermConfigs

Definition at line 58 of file adaptive.h.

◆ PermConfigs

BIT_VECTOR tesseract::ADAPT_CLASS_STRUCT::PermConfigs

Definition at line 62 of file adaptive.h.

◆ PermProtos

BIT_VECTOR tesseract::ADAPT_CLASS_STRUCT::PermProtos

Definition at line 61 of file adaptive.h.

◆ TempProtos

LIST tesseract::ADAPT_CLASS_STRUCT::TempProtos

Definition at line 63 of file adaptive.h.


The documentation for this struct was generated from the following files: