From 3445b8054c81e12dc0d0078135a73eafe10a309f Mon Sep 17 00:00:00 2001 From: smatz Date: Wed, 7 May 2008 18:31:29 +0000 Subject: (svn r12995) -Codechange: use std::vector for EngineList instead of C/C++ wrapper for CBlobT --- src/engine.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/engine.cpp') diff --git a/src/engine.cpp b/src/engine.cpp index 3d9df73f3..c28b096cb 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -114,6 +114,28 @@ Engine::~Engine() free(this->name); } +/** Sort all items using qsort() and given 'CompareItems' function + * @param el list to be sorted + * @param compare function for evaluation of the quicksort + */ +void EngList_Sort(EngineList *el, EngList_SortTypeFunction compare) +{ + qsort(&((*el)[0]), el->size(), sizeof(EngineID), compare); +} + +/** Sort selected range of items (on indices @ ) + * @param el list to be sorted + * @param compare function for evaluation of the quicksort + * @param begin start of sorting + * @param num_items count of items to be sorted + */ +void EngList_SortPartial(EngineList *el, EngList_SortTypeFunction compare, uint begin, uint num_items) +{ + assert(begin <= (uint)el->size()); + assert(begin + num_items <= (uint)el->size()); + qsort(&((*el)[begin]), num_items, sizeof(EngineID), compare); +} + void SetupEngines() { _Engine_pool.CleanPool(); -- cgit v1.2.3-54-g00ecf