NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
StringInternalMemory Class Reference

#include <stringmemory.hpp>

Inheritance diagram for StringInternalMemory:
Collaboration diagram for StringInternalMemory:

Public Member Functions

 StringInternalMemory ()
 
std::vector< int > sortElements (long long int i1, long long int i2, long long int j1, long long int j2, const std::string &sSortingExpression)
 
- Public Member Functions inherited from Sorter
virtual ~Sorter ()
 
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 as a private member function of this class. More...
 
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. The ColumnKeys object contains the necessary information needed for the hierarchical sorting. More...
 
ColumnKeysevaluateKeyList (std::string &sKeyList, long long int nColumnCount)
 This public member function creates a ColumnKeys object from a string containing the hierarchical sorting order for the current sorting process. More...
 

Public Attributes

std::vector< std::vector< std::string > > sStrings
 

Private Member Functions

void reorderColumn (const std::vector< int > &vIndex, long long int i1, long long int i2, long long int j1=0)
 
virtual int compare (int i, int j, int col) override
 
virtual bool isValue (int line, int col) override
 

Private Attributes

bool bSortCaseInsensitive
 

Additional Inherited Members

virtual int compare (int i, int j, int col)=0
 
virtual bool isValue (int line, int col)=0
 

Detailed Description

Definition at line 30 of file stringmemory.hpp.

Constructor & Destructor Documentation

◆ StringInternalMemory()

StringInternalMemory::StringInternalMemory ( )
inline

Definition at line 40 of file stringmemory.hpp.

Member Function Documentation

◆ compare()

int StringInternalMemory::compare ( int  i,
int  j,
int  col 
)
overrideprivatevirtual

Implements Sorter.

Definition at line 27 of file stringmemory.cpp.

References bSortCaseInsensitive, sStrings, and toLowerCase().

Here is the call graph for this function:

◆ isValue()

bool StringInternalMemory::isValue ( int  line,
int  col 
)
overrideprivatevirtual

Implements Sorter.

Definition at line 63 of file stringmemory.cpp.

References sStrings.

◆ reorderColumn()

void StringInternalMemory::reorderColumn ( const std::vector< int > &  vIndex,
long long int  i1,
long long int  i2,
long long int  j1 = 0 
)
private

Definition at line 234 of file stringmemory.cpp.

References sStrings.

Referenced by sortElements().

◆ sortElements()

vector< int > StringInternalMemory::sortElements ( long long int  i1,
long long int  i2,
long long int  j1,
long long int  j2,
const std::string &  sSortingExpression 
)

Definition at line 75 of file stringmemory.cpp.

References bSortCaseInsensitive, SyntaxError::CANNOT_SORT_CACHE, SyntaxError::CANNOT_SORT_DATA, Sorter::evaluateKeyList(), findParameter(), getArgAtPos(), SyntaxError::invalid_position, ColumnKeys::nKey, Sorter::qSort(), reorderColumn(), Sorter::sortSubList(), sStrings, and ColumnKeys::subkeys.

Referenced by StringMemory::sortStringElements().

Here is the call graph for this function:

Member Data Documentation

◆ bSortCaseInsensitive

bool StringInternalMemory::bSortCaseInsensitive
private

Definition at line 33 of file stringmemory.hpp.

Referenced by compare(), and sortElements().

◆ sStrings


The documentation for this class was generated from the following files: