31 #ifndef reda_indexer_h
32 #define reda_indexer_h
51 typedef struct REDA_Indexer REDA_Indexer_T;
56 struct REDA_IndexerProperty
61 RTI_INT32 max_entries;
68 #define REDA_IndexerProperty_INITIALIZER \
88 FUNCTION_MUST_TYPEDEF(
90 (*REDA_Indexer_compare_T)(
const void *
const record,
RTI_BOOL key_is_record,
91 const void *
const key)
108 MUST_CHECK_RETURN REDADllExport REDA_Indexer_T*
109 REDA_Indexer_new(REDA_Indexer_compare_T compare,
110 struct REDA_IndexerProperty *property);
127 SHOULD_CHECK_RETURN REDADllExport
RTI_BOOL
128 REDA_Indexer_delete(REDA_Indexer_T *indexer);
145 MUST_CHECK_RETURN REDADllExport
RTI_BOOL
146 REDA_Indexer_add_entry(REDA_Indexer_T *indexer,
void *entry);
163 SHOULD_CHECK_RETURN REDADllExport
void*
164 REDA_Indexer_remove_entry(REDA_Indexer_T *indexer,
const void *
const key);
180 MUST_CHECK_RETURN REDADllExport
void*
181 REDA_Indexer_find_entry(REDA_Indexer_T *indexer,
const void *
const key);
197 MUST_CHECK_RETURN REDADllExport
void*
198 REDA_Indexer_find_entry_eq_or_gt(REDA_Indexer_T *indexer,
const void *
const key);
214 MUST_CHECK_RETURN REDADllExport RTI_INT32
215 REDA_Indexer_get_count(REDA_Indexer_T *indexer);
231 MUST_CHECK_RETURN REDADllExport
void*
232 REDA_Indexer_get_entry(REDA_Indexer_T *indexer,RTI_INT32 index);
247 MUST_CHECK_RETURN REDADllExport
void*
248 REDA_Indexer_get_first_entry(REDA_Indexer_T *indexer);
263 MUST_CHECK_RETURN REDADllExport
void*
264 REDA_Indexer_get_last_entry(REDA_Indexer_T *indexer);