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 \
89 FUNCTION_MUST_TYPEDEF(
91 (*REDA_Indexer_compare_T)(
const void *
const record,
RTI_BOOL key_is_record,
92 const void *
const key)
109 MUST_CHECK_RETURN REDADllExport REDA_Indexer_T*
110 REDA_Indexer_new(REDA_Indexer_compare_T compare,
111 struct REDA_IndexerProperty *property);
129 SHOULD_CHECK_RETURN REDADllExport
RTI_BOOL
130 REDA_Indexer_delete(REDA_Indexer_T *indexer);
148 MUST_CHECK_RETURN REDADllExport
RTI_BOOL
149 REDA_Indexer_add_entry(REDA_Indexer_T *indexer,
void *entry);
166 SHOULD_CHECK_RETURN REDADllExport
void*
167 REDA_Indexer_remove_entry(REDA_Indexer_T *indexer,
const void *
const key);
183 MUST_CHECK_RETURN REDADllExport
void*
184 REDA_Indexer_find_entry(REDA_Indexer_T *indexer,
const void *
const key);
200 MUST_CHECK_RETURN REDADllExport
void*
201 REDA_Indexer_find_entry_eq_or_gt(REDA_Indexer_T *indexer,
const void *
const key);
217 MUST_CHECK_RETURN REDADllExport RTI_INT32
218 REDA_Indexer_get_count(REDA_Indexer_T *indexer);
234 MUST_CHECK_RETURN REDADllExport
void*
235 REDA_Indexer_get_entry(REDA_Indexer_T *indexer,RTI_INT32 index);
250 MUST_CHECK_RETURN REDADllExport
void*
251 REDA_Indexer_get_first_entry(REDA_Indexer_T *indexer);
266 MUST_CHECK_RETURN REDADllExport
void*
267 REDA_Indexer_get_last_entry(REDA_Indexer_T *indexer);