Space Engineers
Public Member Functions | Properties | List of all members
VRage.Collections.ConcurrentCachingList< T > Class Template Reference

List wrapper that allows for addition and removal even during enumeration. Done by caching changes and allowing explicit application using Apply* methods. More...

Inheritance diagram for VRage.Collections.ConcurrentCachingList< T >:

Public Member Functions

 ConcurrentCachingList ()
 
 ConcurrentCachingList (int capacity)
 
void Add (T entity)
 
void Remove (T entity, bool immediate=false)
 
void RemoveAtImmediately (int index)
 Immediately removes an element at the specified index. More...
 
void ClearList ()
 
void ClearImmediate ()
 
void ApplyChanges ()
 
void ApplyAdditions ()
 
void ApplyRemovals ()
 
void Sort (IComparer< T > comparer)
 
List< T >.Enumerator GetEnumerator ()
 
void DebugCheckEmpty ()
 
override string ToString ()
 

Properties

int Count [get]
 
this[int index] [get]
 

Detailed Description

List wrapper that allows for addition and removal even during enumeration. Done by caching changes and allowing explicit application using Apply* methods.

This version has individual locks for cached and non-cached versions, allowing each to be managed efficiently even across multiple threads

Definition at line 18 of file ConcurrentCachingList.cs.

Constructor & Destructor Documentation

Definition at line 27 of file ConcurrentCachingList.cs.

Definition at line 29 of file ConcurrentCachingList.cs.

Member Function Documentation

void VRage.Collections.ConcurrentCachingList< T >.Add ( entity)
inline

Definition at line 48 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.ApplyAdditions ( )
inline

Definition at line 116 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.ApplyChanges ( )
inline

Definition at line 110 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.ApplyRemovals ( )
inline

Definition at line 126 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.ClearImmediate ( )
inline

Definition at line 99 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.ClearList ( )
inline

Definition at line 93 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.DebugCheckEmpty ( )
inline

Definition at line 160 of file ConcurrentCachingList.cs.

List<T>.Enumerator VRage.Collections.ConcurrentCachingList< T >.GetEnumerator ( )
inline

Definition at line 143 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.Remove ( entity,
bool  immediate = false 
)
inline

Definition at line 59 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.RemoveAtImmediately ( int  index)
inline

Immediately removes an element at the specified index.

Parameters
indexIndex of the element to remove immediately.

Definition at line 84 of file ConcurrentCachingList.cs.

void VRage.Collections.ConcurrentCachingList< T >.Sort ( IComparer< T >  comparer)
inline

Definition at line 137 of file ConcurrentCachingList.cs.

override string VRage.Collections.ConcurrentCachingList< T >.ToString ( )
inline

Definition at line 167 of file ConcurrentCachingList.cs.

Property Documentation

Definition at line 35 of file ConcurrentCachingList.cs.

T VRage.Collections.ConcurrentCachingList< T >.this[int index]
get

Definition at line 44 of file ConcurrentCachingList.cs.


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