diff options
Diffstat (limited to 'engine.h')
-rw-r--r-- | engine.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -293,4 +293,15 @@ int32 AddEngineReplacement(EngineRenewList* erl, EngineID old_engine, EngineID n */ int32 RemoveEngineReplacement(EngineRenewList* erl, EngineID engine, uint32 flags); +/* Engine list manipulators - current implementation is only C wrapper of CBlobT<EngineID> class (helpers.cpp) */ +void EngList_Create(EngineList *el); ///< Creates engine list +void EngList_Destroy(EngineList *el); ///< Deallocate and destroy engine list +uint EngList_Count(const EngineList *el); ///< Returns number of items in the engine list +void EngList_Add(EngineList *el, EngineID eid); ///< Append one item at the end of engine list +EngineID* EngList_Items(EngineList *el); ///< Returns engine list items as C array +void EngList_RemoveAll(EngineList *el); ///< Removes all items from engine list +typedef int CDECL EngList_SortTypeFunction(const void*, const void*); ///< argument type for EngList_Sort() +void EngList_Sort(EngineList *el, EngList_SortTypeFunction compare); ///< qsort of the engine list +void EngList_SortPartial(EngineList *el, EngList_SortTypeFunction compare, uint begin, uint num_items); ///< qsort of specified portion of the engine list + #endif /* ENGINE_H */ |