tesseract v5.3.3.20231005
sortflts.h
Go to the documentation of this file.
1/**********************************************************************
2 * File: sortflts.h (Formerly sfloats.h)
3 * Description: Code to maintain a sorted list of floats.
4 * Author: Ray Smith
5 *
6 * (C) Copyright 1993, Hewlett-Packard Ltd.
7 ** Licensed under the Apache License, Version 2.0 (the "License");
8 ** you may not use this file except in compliance with the License.
9 ** You may obtain a copy of the License at
10 ** http://www.apache.org/licenses/LICENSE-2.0
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 *
17 **********************************************************************/
18
19#ifndef SORTFLTS_H
20#define SORTFLTS_H
21
22#include "elst.h"
23
24namespace tesseract {
25
26class SORTED_FLOAT : public ELIST_LINK {
27 friend class SORTED_FLOATS;
28
29public:
30 SORTED_FLOAT() = default;
31 SORTED_FLOAT( // create one
32 float value, // value of entry
33 int32_t key) { // reference
34 entry = value;
35 address = key;
36 }
37
38private:
39 float entry; // value of float
40 int32_t address; // key
41};
42
43ELISTIZEH(SORTED_FLOAT)
45public:
48 it.set_to_list(&list);
49 }
55 void add(float value, int32_t key);
60 void remove(int32_t key);
65 float operator[](int32_t index);
66
67private:
68 SORTED_FLOAT_LIST list; // list of floats
69 SORTED_FLOAT_IT it; // iterator built-in
70};
71
72} // namespace tesseract
73
74#endif
#define ELISTIZEH(CLASSNAME)
Definition: elst.h:803
int value
SORTED_FLOAT(float value, int32_t key)
Definition: sortflts.h:31