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

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Member Functions | Static Public Attributes | Protected Attributes | Static Protected Attributes | Properties | Private Member Functions | Private Attributes

# 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:

  Tkey | Type of the key, must implement IComparable interface.
  Tvalue | Type 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:

- Utils.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events