IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase Class Referenceabstract

Base class for different IComparer classes. More...

+ Inheritance diagram for IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase:
+ Collaboration diagram for IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase:

Public Member Functions

int Compare (KeyValueSortable< Tkey, Tvalue > keyValue1, KeyValueSortable< Tkey, Tvalue > keyValue2)
 
- Public Member Functions inherited from IG.Lib.KeyValueSortable< Tkey, Tvalue >
 KeyValueSortable (Tkey key, Tvalue value, int orderParameter)
 
 KeyValueSortable (Tkey key, Tvalue value)
 

Protected Member Functions

 ComparerBase (bool twoStage, bool strict)
 
abstract IComparable GetFirstStageCompared (KeyValueSortable< Tkey, Tvalue > keyValue)
 Extracts the object used in the first level of comparison from the argument. More...
 
abstract IComparable GetSecondStageCompared (KeyValueSortable< Tkey, Tvalue > keyValue)
 Extracts the object used in the second level of comparison from the argument. More...
 

Protected Attributes

bool _twoStage = false
 
bool _strict = false
 
- Protected Attributes inherited from IG.Lib.KeyValueSortable< Tkey, Tvalue >
Tkey _key
 
Tvalue _value
 

Properties

bool TwoStage [get]
 
bool Strict [get]
 
- Properties inherited from IG.Lib.KeyValueSortable< Tkey, Tvalue >
Tkey Key [get]
 Returns the key. More...
 
Tvalue Value [get]
 Returns the value. More...
 
int OrderParameter [get]
 Order prameter that enable additional sorting when other fields are equal. More...
 

Additional Inherited Members

- Static Public Attributes inherited from IG.Lib.KeyValueSortable< Tkey, Tvalue >
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareKey
 Comparison of keys. More...
 
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareKeyValue
 Comparison of keys and then values (if keys are equal). More...
 
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareKeyValueStrict
 Comparison of keys and then values (if keys are equal) and finally the (possibly unique) ordering parameter that enables strict ordering of objects with the same key and value. More...
 
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareValue
 Comparison of values. More...
 
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareValueKey
 Comparison of values and then keys (if values are equal). More...
 
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareValueKeyStrict
 Comparison of values and then keys (if keys are equal) and finally the (possibly unique) ordering parameter that enables strict ordering of objects with the same value and key. More...
 
- Static Protected Attributes inherited from IG.Lib.KeyValueSortable< Tkey, Tvalue >
static int _counter = 0
 

Detailed Description

Base class for different IComparer classes.

Constructor & Destructor Documentation

IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.ComparerBase ( bool  twoStage,
bool  strict 
)
inlineprotected

Member Function Documentation

abstract IComparable IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.GetFirstStageCompared ( KeyValueSortable< Tkey, Tvalue >  keyValue)
protectedpure virtual

Extracts the object used in the first level of comparison from the argument.

Implemented in IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerValueBase, and IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerKeyBase.

abstract IComparable IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.GetSecondStageCompared ( KeyValueSortable< Tkey, Tvalue >  keyValue)
protectedpure virtual

Extracts the object used in the second level of comparison from the argument.

Implemented in IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerValueBase, and IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerKeyBase.

int IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.Compare ( KeyValueSortable< Tkey, Tvalue >  keyValue1,
KeyValueSortable< Tkey, Tvalue >  keyValue2 
)
inline

Member Data Documentation

bool IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase._twoStage = false
protected
bool IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase._strict = false
protected

Property Documentation

bool IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.TwoStage
get
bool IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.Strict
get

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