IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

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

List of all members.

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.
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareKeyValue
 Comparison of keys and then values (if keys are equal).
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.
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareValue
 Comparison of values.
static IComparer
< KeyValueSortable< Tkey,
Tvalue > > 
CompareValueKey
 Comparison of values and then keys (if values are equal).
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.

Protected Attributes

Tkey _key
Tvalue _value

Static Protected Attributes

static int _counter = 0

Properties

Tkey Key [get]
 Returns the key.
Tvalue Value [get]
 Returns the value.
int OrderParameter [get]
 Order prameter that enable additional sorting when other fields are equal.

Private Member Functions

void xxxx_to_delete ()

Private Attributes

int _orderParameter

Detailed Description

template<Tkey, Tvalue>
class IG::Lib::KeyValueSortable< Tkey, Tvalue >

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 

Member Function Documentation

template<Tkey , Tvalue >
IG::Lib::KeyValueSortable< Tkey, Tvalue >::KeyValueSortable ( Tkey  key,
Tvalue  value,
int  orderParameter 
) [inline]
template<Tkey , Tvalue >
IG::Lib::KeyValueSortable< Tkey, Tvalue >::KeyValueSortable ( Tkey  key,
Tvalue  value 
) [inline]
template<Tkey , Tvalue >
void IG::Lib::KeyValueSortable< Tkey, Tvalue >::xxxx_to_delete ( ) [inline, private]

Member Data Documentation

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

Comparison of keys.

template<Tkey , Tvalue >
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).

template<Tkey , Tvalue >
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.

template<Tkey , Tvalue >
IComparer<KeyValueSortable<Tkey, Tvalue> > IG::Lib::KeyValueSortable< Tkey, Tvalue >::CompareValue [static]
Initial value:
                new ComparerValueBase(false , false )

Comparison of values.

template<Tkey , Tvalue >
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).

template<Tkey , Tvalue >
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

template<Tkey , Tvalue >
Tkey IG::Lib::KeyValueSortable< Tkey, Tvalue >::Key [get]

Returns the key.

template<Tkey , Tvalue >
Tvalue IG::Lib::KeyValueSortable< Tkey, Tvalue >::Value [get]

Returns the value.

template<Tkey , Tvalue >
int IG::Lib::KeyValueSortable< Tkey, Tvalue >::OrderParameter [get]

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


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events