tesseract v5.3.3.20231005
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}
int value

◆ 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: