#ifndef __GESORT_H #define __GESORT_H #include "ge_math.h" #include "c4d_misc.h" class GeSortAndSearchEx { private: void Bsort(void* start, Int32 count, Int32 msize); void Wsort(void* start, Int32 count, Int32 msize); void Lsort(void* start, Int32 count, Int32 msize); inline void Bswap(Char* a, Char* b, Int32 i); inline void Wswap(Int16* a, Int16* b, Int32 i); inline void Lswap(Int32* a, Int32* b, Int32 i); protected: virtual Int32 Compare(void* a, void* b) = 0; // if(a==b) return 0; // if(ab) return 1; public: void Sort(void* start, Int32 count, Int32 msize); void* Search(void* Key, void* Start, Int32 count, Int32 msize); void* SearchOrInsert(void* Key, void* Start, Int32 count, Int32 msize, Int32& insertidx); }; #endif