#include <fontinfo.h>
Public Member Functions | |
UnicityTable () | |
~UnicityTable () | |
Clear the structures and deallocate internal structures. More... | |
void | reserve (int size) |
int | size () const |
Return the size used. More... | |
const T & | get (int id) const |
Return the object from an id. More... | |
T * | get_mutable (int id) |
int | get_id (T object) const |
bool | contains (T object) const |
Return true if T is in the table. More... | |
T | contains_id (int id) const |
Return true if the id is valid. More... | |
int | push_back (T object) |
Add an element in the table. More... | |
void | set_clear_callback (TessCallback1< T > *cb) |
void | set_compare_callback (TessResultCallback2< bool, T const &, T const &> *cb) |
void | clear () |
void | move (UnicityTable< T > *from) |
bool | write (FILE *f, TessResultCallback2< bool, FILE *, T const &> *cb) const |
bool | read (tesseract::TFile *f, TessResultCallback2< bool, tesseract::TFile *, T *> *cb) |
Private Attributes | |
GenericVector< T > | table_ |
TessResultCallback2< bool, T const &, T const & > * | compare_cb_ |
UnicityTable< T >::UnicityTable | ( | ) |
UnicityTable< T >::~UnicityTable | ( | ) |
Clear the structures and deallocate internal structures.
void UnicityTable< T >::clear | ( | ) |
Clear the table, calling the callback function if any. All the owned Callbacks are also deleted. If you don't want the Callbacks to be deleted, before calling clear, set the callback to nullptr.
bool UnicityTable< T >::contains | ( | T | object | ) | const |
Return true if T is in the table.
T UnicityTable< T >::contains_id | ( | int | id | ) | const |
Return true if the id is valid.
const T & UnicityTable< T >::get | ( | int | id | ) | const |
Return the object from an id.
int UnicityTable< T >::get_id | ( | T | object | ) | const |
Return the id of the T object. This method NEEDS a compare_callback to be passed to set_compare_callback.
T * UnicityTable< T >::get_mutable | ( | int | id | ) |
void UnicityTable< T >::move | ( | UnicityTable< T > * | from | ) |
This method clear the current object, then, does a shallow copy of its argument, and finally invalidate its argument.
int UnicityTable< T >::push_back | ( | T | object | ) |
Add an element in the table.
bool UnicityTable< T >::read | ( | tesseract::TFile * | f, |
TessResultCallback2< bool, tesseract::TFile *, T *> * | cb | ||
) |
void UnicityTable< T >::reserve | ( | int | size | ) |
Reserve some memory. If there is size or more elements, the table will then allocate size * 2 elements.
void UnicityTable< T >::set_clear_callback | ( | TessCallback1< T > * | cb | ) |
Add a callback to be called to delete the elements when the table took their ownership.
void UnicityTable< T >::set_compare_callback | ( | TessResultCallback2< bool, T const &, T const &> * | cb | ) |
Add a callback to be called to compare the elements when needed (contains, get_id, ...)
int UnicityTable< T >::size | ( | ) | const |
Return the size used.
bool UnicityTable< T >::write | ( | FILE * | f, |
TessResultCallback2< bool, FILE *, T const &> * | cb | ||
) | const |
Read/Write the table to a file. This does NOT read/write the callbacks. The Callback given must be permanent since they will be called more than once. The given callback will be deleted at the end. Returns false on read/write error.
|
mutableprivate |
|
private |