Iterators¶
- 
struct 
TmeIterator¶ Iterator API.
A TmeIterator is a wrapper around a function that gets called for every element matched by a query submitted to the reasoner. By providing a generic context pointer, you can plug any data structure (loggers, collections, etc.) which allows for arbitrarily complex queries.
The iterator function returns a
booleanthat can be used to control iteration: by returningtrueiteration goes on to the next element, while returningfalsecauses it to stop. This is useful if, for example, you want to find the first element matching certain criteria.- Note
 This is not a real data structure, though it is declared as such for better grouping in the generated documentation.
Subclassed by TmeABoxIterator, TmeKBConceptIterator, TmeKBIndividualIterator, TmeTaxonomyIterator, TmeTBoxIterator
Related
- 
tme_iterator_init(CTX, FOR_EACH)¶ Initializes an iterator.
- Return
 Initialized iterator.
- Parameters
 CTX: Iterator context, can be anything.FOR_EACH: Pointer to a function called by the iterator for every element.
TBox iterator¶
- 
struct 
TmeTBoxIterator: public TmeIterator¶ TBox iterator.
Public Members
- 
void *
ctx¶ The iterator context, can be anything.
- 
bool (*
for_each)(void *ctx, TmeEntityPtr concept, TmeSemDesc *desc)¶ Pointer to a function called by the iterator for every element.
- 
void *
 
ABox iterator¶
- 
struct 
TmeABoxIterator: public TmeIterator¶ ABox iterator.
Public Members
- 
void *
ctx¶ The iterator context, can be anything.
- 
bool (*
for_each)(void *ctx, TmeEntityPtr individual, TmeSemDesc *desc, TmeABoxEntryType type)¶ Pointer to a function called by the iterator for every element.
- 
void *
 
KB concept iterator¶
- 
struct 
TmeKBConceptIterator: public TmeIterator¶ KBConcept iterator.
Public Members
- 
void *
ctx¶ The iterator context, can be anything.
- 
bool (*
for_each)(void *ctx, TmeEntityPtr)¶ Pointer to a function called by the iterator for every element.
- 
void *
 
KB individual iterator¶
- 
struct 
TmeKBIndividualIterator: public TmeIterator¶ KBIndividual iterator.
Public Members
- 
void *
ctx¶ The iterator context, can be anything.
- 
bool (*
for_each)(void *ctx, TmeEntityPtr individual, TmeABoxEntryType type)¶ Pointer to a function called by the iterator for every element.
- 
void *
 
Taxonomy iterator¶
- 
struct 
TmeTaxonomyIterator: public TmeIterator¶ Taxonomy iterator.
Taxonomy iterator.
Public Members
- 
void *
ctx¶ The iterator context, can be anything.
- 
bool (*
for_each)(void *ctx, TmeEntityPtr concept)¶ Pointer to a function called by the iterator for every element.
- 
void *