tesseract  5.0.0
tesseract::SORTED_FLOATS Class Reference

#include <sortflts.h>

Public Member Functions

 SORTED_FLOATS ()
 
SORTED_FLOATS::add

Add a new entry to the sorted list of floats.

void add (float value, int32_t key)
 
SORTED_FLOATS::remove

Remove an entry from the sorted list of floats.

void remove (int32_t key)
 
SORTED_FLOATS::operator[]

Return the floating point value of the given index into the list.

float operator[] (int32_t index)
 

Detailed Description

Definition at line 44 of file sortflts.h.

Constructor & Destructor Documentation

◆ SORTED_FLOATS()

tesseract::SORTED_FLOATS::SORTED_FLOATS ( )
inline

empty constructor

Definition at line 47 of file sortflts.h.

47  {
48  it.set_to_list(&list);
49  }

Member Function Documentation

◆ add()

void tesseract::SORTED_FLOATS::add ( float  value,
int32_t  key 
)

add sample

Parameters
valuesample float
keyretrieval key

Definition at line 28 of file sortflts.cpp.

29  {
30  auto *new_float = new SORTED_FLOAT(value, key);
31 
32  if (list.empty()) {
33  it.add_after_stay_put(new_float);
34  } else {
35  it.move_to_first();
36  while (!it.at_last() && it.data()->entry < value) {
37  it.forward();
38  }
39  if (it.data()->entry < value) {
40  it.add_after_stay_put(new_float);
41  } else {
42  it.add_before_stay_put(new_float);
43  }
44  }
45 }

◆ operator[]()

float tesseract::SORTED_FLOATS::operator[] ( int32_t  index)

index to list

Parameters
indexitem to get

Definition at line 71 of file sortflts.cpp.

73  {
74  it.move_to_first();
75  return it.data_relative(index)->entry;
76 }

◆ remove()

void tesseract::SORTED_FLOATS::remove ( int32_t  key)

delete sample

Parameters
keykey to delete

Definition at line 53 of file sortflts.cpp.

54  {
55  if (!list.empty()) {
56  for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
57  if (it.data()->address == key) {
58  delete it.extract();
59  return;
60  }
61  }
62  }
63 }

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