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 > Class Template Reference

Class representing a key-value pair where sorting can be performed both with respect to key and with respect to value. More...

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

Classes

class  ComparerBase
 Base class for different IComparer classes. More...
 
class  ComparerKeyBase
 IComparer that compares the key first and then eventually the value and finally the additional ordering parameter, dependent on constructor parameters. More...
 
class  ComparerValueBase
 IComparer that compares the key first and then eventually the value and finally the additional ordering parameter, dependent on constructor parameters. More...
 

Public Member Functions

 KeyValueSortable (Tkey key, Tvalue value, int orderParameter)
 
 KeyValueSortable (Tkey key, Tvalue value)
 

Static Public Attributes

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...
 

Protected Attributes

Tkey _key
 
Tvalue _value
 

Static Protected Attributes

static int _counter = 0
 

Properties

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...
 

Private Member Functions

void xxxx_to_delete ()
 

Private Attributes

int _orderParameter
 

Detailed Description

Class representing a key-value pair where sorting can be performed both with respect to key and with respect to value.

Template Parameters
TkeyType of the key, must implement IComparable interface.
TvalueType of the value, must implement IComparable interface.

$A Igor Apr10;

Type Constraints
Tkey :IComparable 
Tvalue :IComparable 

Constructor & Destructor Documentation

IG.Lib.KeyValueSortable< Tkey, Tvalue >.KeyValueSortable ( Tkey  key,
Tvalue  value,
int  orderParameter 
)
inline
IG.Lib.KeyValueSortable< Tkey, Tvalue >.KeyValueSortable ( Tkey  key,
Tvalue  value 
)
inline

Member Function Documentation

void IG.Lib.KeyValueSortable< Tkey, Tvalue >.xxxx_to_delete ( )
inlineprivate

Member Data Documentation

int IG.Lib.KeyValueSortable< Tkey, Tvalue >._counter = 0
staticprotected
Tkey IG.Lib.KeyValueSortable< Tkey, Tvalue >._key
protected
Tvalue IG.Lib.KeyValueSortable< Tkey, Tvalue >._value
protected
int IG.Lib.KeyValueSortable< Tkey, Tvalue >._orderParameter
private
IComparer<KeyValueSortable<Tkey, Tvalue> > IG.Lib.KeyValueSortable< Tkey, Tvalue >.CompareKey
static
Initial value:
=
new ComparerKeyBase(false , false )

Comparison of keys.

IComparer<KeyValueSortable<Tkey, Tvalue> > IG.Lib.KeyValueSortable< Tkey, Tvalue >.CompareKeyValue
static
Initial value:
=
new ComparerKeyBase(true , false )

Comparison of keys and then values (if keys are equal).

IComparer<KeyValueSortable<Tkey, Tvalue> > IG.Lib.KeyValueSortable< Tkey, Tvalue >.CompareKeyValueStrict
static
Initial value:
=
new ComparerKeyBase(true , true )

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.

IComparer<KeyValueSortable<Tkey, Tvalue> > IG.Lib.KeyValueSortable< Tkey, Tvalue >.CompareValue
static
Initial value:
=
new ComparerValueBase(false , false )

Comparison of values.

IComparer<KeyValueSortable<Tkey, Tvalue> > IG.Lib.KeyValueSortable< Tkey, Tvalue >.CompareValueKey
static
Initial value:
=
new ComparerValueBase(true , false )

Comparison of values and then keys (if values are equal).

IComparer<KeyValueSortable<Tkey, Tvalue> > IG.Lib.KeyValueSortable< Tkey, Tvalue >.CompareValueKeyStrict
static
Initial value:
=
new ComparerValueBase(true , true )

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.

Property Documentation

int IG.Lib.KeyValueSortable< Tkey, Tvalue >.OrderParameter
get

Order prameter that enable additional sorting when other fields are equal.

Referenced by IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerBase.Compare().


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