Show / Hide Table of Contents

Class ConcurrentCachingList<T>

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

Inheritance
System.Object
ConcurrentCachingList<T>
Namespace: VRage.Collections
Assembly: VRage.Library.dll
Syntax
public class ConcurrentCachingList<T> : Object, IReadOnlyList<T>, IEnumerable<T>, IEnumerable, IReadOnlyCollection<T>
Type Parameters
Name Description
T

Constructors

ConcurrentCachingList()

Declaration
public ConcurrentCachingList()

ConcurrentCachingList(Int32)

Declaration
public ConcurrentCachingList(int capacity)
Parameters
Type Name Description
System.Int32 capacity

Properties

Count

Declaration
public int Count { get; }
Property Value
Type Description
System.Int32

IsEmpty

Declaration
public bool IsEmpty { get; }
Property Value
Type Description
System.Boolean

Item[Int32]

Declaration
public T this[int index] { get; }
Parameters
Type Name Description
System.Int32 index
Property Value
Type Description
T

Methods

Add(T)

Declaration
public void Add(T entity)
Parameters
Type Name Description
T entity

ApplyAdditions()

Declaration
public void ApplyAdditions()

ApplyChanges()

Declaration
public void ApplyChanges()

ApplyRemovals()

Declaration
public void ApplyRemovals()

ClearImmediate()

Declaration
public void ClearImmediate()

ClearList()

Declaration
public void ClearList()

DebugCheckEmpty()

Declaration
public void DebugCheckEmpty()

GetEnumerator()

Declaration
public ConcurrentEnumerator<SpinLockRef.Token, T, List<T>.Enumerator> GetEnumerator()
Returns
Type Description
VRage.Library.Collections.ConcurrentEnumerator<VRage.Library.Threading.SpinLockRef.Token, T, System.Collections.Generic.List.Enumerator<>>

Invoke(Action)

Declaration
public void Invoke(Action action)
Parameters
Type Name Description
System.Action action

Remove(T, Boolean)

Declaration
public void Remove(T entity, bool immediate = false)
Parameters
Type Name Description
T entity
System.Boolean immediate

RemoveAtImmediately(Int32)

Immediately removes an element at the specified index.

Declaration
public void RemoveAtImmediately(int index)
Parameters
Type Name Description
System.Int32 index

Index of the element to remove immediately.

Sort(IComparer<T>)

Declaration
public void Sort(IComparer<T> comparer)
Parameters
Type Name Description
System.Collections.Generic.IComparer<T> comparer

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾