#ifndef _COMMON_QUICKSORT_HPP_ #define _COMMON_QUICKSORT_HPP_ #ifndef _COMMON_SORTOPTIONS_HPP_ #include #endif #ifndef _COMMON_TYPES_HPP_ #include #endif #ifdef _EXPAND_QSORT_TEMPLATES_ #pragma option -Jgd #endif template class Block; template class Array; template class QuickSort { public: QuickSort(void); virtual ~QuickSort(); void sortItems(Array &arrayItems,SortOptions::SortOrder sortOrder=SortOptions::Ascending); void sortItems(Block &someBlock,SortOptions::SortOrder sortOrder=SortOptions::Ascending); private: void quickSort(long left,long right); void quickSortDescending(long left,long right); void sortBlockAscending(long left,long right); void sortBlockDescending(long left,long right); Block *mlpBlockItems; T HUGE *mlpItemList; }; #if defined(_MSC_VER) #include #endif #endif