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

- Main Page
- Namespaces
- Classes
- Files

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Classes | Public Member Functions | Static Public Attributes | Protected Attributes | Static Protected Attributes | Properties | Private Member Functions | Private Attributes | List of all members
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 >:
[legend]

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

  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 |

## 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 | ( |  | ) |
| inline private

## Member Data Documentation

int IG.Lib.KeyValueSortable< Tkey, Tvalue >._counter = 0
| static protected

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

Tkey IG.Lib.KeyValueSortable< Tkey, Tvalue >.Key
| get

Returns the key.

Referenced by IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerKeyBase.GetFirstStageCompared(), and IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerValueBase.GetSecondStageCompared().

Tvalue IG.Lib.KeyValueSortable< Tkey, Tvalue >.Value
| get

Returns the value.

Referenced by IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerValueBase.GetFirstStageCompared(), and IG.Lib.KeyValueSortable< Tkey, Tvalue >.ComparerKeyBase.GetSecondStageCompared().

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:

- igbase/utilities/Utils.cs