Struct PoolListStruct<T>
- Namespace
- Stride.Core.Collections
- Assembly
- Stride.Core.dll
A pool of objects allocated and can be cleared without loosing previously allocated instance.
public struct PoolListStruct<T> : IEnumerable<T>, IEnumerable where T : class
Type Parameters
TType of the pooled object
- Implements
-
IEnumerable<T>
- Inherited Members
- Extension Methods
Constructors
PoolListStruct(int, Func<T>)
Initializes a new instance of the PoolListStruct<T> struct.
public PoolListStruct(int capacity, Func<T> factory)
Parameters
Exceptions
- ArgumentNullException
factory
Fields
Count
The number of objects in use, readonly.
public int Count
Field Value
Properties
this[int]
Gets or sets the item at the specified index.
public T this[int index] { get; set; }
Parameters
indexintThe index.
Property Value
- T
An instance of T
this[uint]
Gets or sets the item at the specified index.
public T this[uint index] { get; set; }
Parameters
indexuintThe index.
Property Value
- T
An instance of T
Methods
Add()
Adds a new object in use to this instance.
public T Add()
Returns
- T
An instance of T
Clear()
Clears objects in use and keep allocated objects.
public void Clear()
GetEnumerator()
public FastListStruct<T>.Enumerator GetEnumerator()
Returns
IndexOf(T)
Gets the index of item
public int IndexOf(T item)
Parameters
itemTThe item to get the index of
Returns
- int
Index of the item, or -1 if the item is not in this list
Remove(T)
Removes the object from the list
public void Remove(T item)
Parameters
itemTThe item to remove
Remarks
The item is added back in the pool to be reused for the next Add()
RemoveAt(int)
public void RemoveAt(int index)
Parameters
indexint
Reset()
Resets this instance by releasing allocated objects.
public void Reset()