20#include "../structures.hpp"
34 bool qSortImplementation(
int* nIndex,
int nElements,
int nColumn,
long long int nLeft,
long long int nRight,
int nSign);
38 virtual int compare(
int i,
int j,
int col) = 0;
39 virtual bool isValue(
int line,
int col) = 0;
45 bool qSort(
int* nIndex,
int nElements,
int nColumn,
long long int nLeft,
long long int nRight,
int nSign);
48 bool sortSubList(
int* nIndex,
int nElements,
ColumnKeys* KeyList,
long long int i1,
long long int i2,
long long int j1,
int nSign,
long long int nColumns);
Abstract parent class to implement the sorting functionality (using Quicksort) on a more generic leve...
ColumnKeys * evaluateKeyList(std::string &sKeyList, long long int nColumnCount)
This public member function creates a ColumnKeys object from a string containing the hierarchical sor...
bool qSort(int *nIndex, int nElements, int nColumn, long long int nLeft, long long int nRight, int nSign)
This public member function is the interface to the quicksort algorithm, which itself is implemented ...
bool qSortImplementation(int *nIndex, int nElements, int nColumn, long long int nLeft, long long int nRight, int nSign)
This private member function is the actual implementation of the quicksort algorithm.
virtual bool isValue(int line, int col)=0
virtual int compare(int i, int j, int col)=0
bool sortSubList(int *nIndex, int nElements, ColumnKeys *KeyList, long long int i1, long long int i2, long long int j1, int nSign, long long int nColumns)
This public member function handles the hierarchical sorting process of many columns together....
Structure for the sorting functionality: used for the recursive definition of the index columns for s...