> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.ksorderedeventmap-1.md).

# Class ksOrderedEventMap\<E>

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Tracks events in a sorted dictionary.

```csharp
public class ksOrderedEventMap<E> : ksEventMap<int, E> where E : ksIEvent, new()
```

#### Type Parameters

`E`

[ksEvent%601](/reactor/api-reference/ks.reactor.md#KS_Reactor_ksEvent_601) or a class that derives from it.

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksEventMap\<int, E>](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md) â† [ksOrderedEventMap\<E>](/reactor/api-reference/ks.reactor/ks.reactor.ksorderedeventmap-1.md)

#### Inherited Members

[ksEventMap\<int, E>.m\_map](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md#KS_Reactor_ksEventMap_2_m_map), [ksEventMap\<int, E>.this\[int\]](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md#KS_Reactor_ksEventMap_2_Item__0_), [ksEventMap\<int, E>.Clear()](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md#KS_Reactor_ksEventMap_2_Clear), [ksEventMap\<int, E>.HasHandlers(int)](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md#KS_Reactor_ksEventMap_2_HasHandlers__0_), [ksEventMap\<int, E>.TryGet(int, out E)](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md#KS_Reactor_ksEventMap_2_TryGet__0__1__), [ksEventMap\<int, E>.CreateEventGroup(int)](/reactor/api-reference/ks.reactor/ks.reactor.kseventmap-2.md#KS_Reactor_ksEventMap_2_CreateEventGroup__0_), [object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Methods

### CreateEventGroup(int) <a href="#ks_reactor_ksorderedeventmap_1_createeventgroup_system_int32" id="ks_reactor_ksorderedeventmap_1_createeventgroup_system_int32"></a>

Creates an event group for a key and inserts the key in the sorted key list.

```csharp
protected override E CreateEventGroup(int key)
```

#### Parameters

`key` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Key to create event group for.

#### Returns

E

Event group

### ForEachEventGroup(ForEachCallback) <a href="#ks_reactor_ksorderedeventmap_1_foreacheventgroup_ks_reactor_ksorderedeventmap__0__foreachcallback" id="ks_reactor_ksorderedeventmap_1_foreacheventgroup_ks_reactor_ksorderedeventmap__0__foreachcallback"></a>

Iterates the event groups in order and calls the callback on them. Multiple iterations are not supported and an exception is thrown if this is called while iterating.

```csharp
public void ForEachEventGroup(ksOrderedEventMap<E>.ForEachCallback callback)
```

#### Parameters

`callback` [ksOrderedEventMap](/reactor/api-reference/ks.reactor/ks.reactor.ksorderedeventmap-1.md)\<E>.[ForEachCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksorderedeventmap-1/ks.reactor.ksorderedeventmap-1.foreachcallback.md)

Callback to call
