Enhanced C#
Language of your choice: library documentation
|
A compact auto-enlarging list that efficiently supports supports insertions at the beginning or end of the list. More...
A compact auto-enlarging list that efficiently supports supports insertions at the beginning or end of the list.
This class is the same as DList{object}
except that it also implements the IList interface.
An article about this class is available.
Properties | |
int | Capacity [get, set] |
T | this[int index] [get, set] |
T | this[int index, T defaultValue] [get] |
int | Count [get] |
bool | IsReadOnly [get] |
T | First [get, set] |
T | Last [get, set] |
bool | IsEmpty [get] |
bool | IsFixedSize [get] |
bool | IsSynchronized [get] |
object | SyncRoot [get] |
Properties inherited from Loyc.Collections.IListEx< T > | |
new int | Count [get] |
Properties inherited from Loyc.Collections.IIsEmpty | |
bool | IsEmpty [get] |
Properties inherited from Loyc.Collections.IArray< T > | |
new T | this[int index] [get, set] |
Gets or sets an element of the array-like collection. More... | |
Properties inherited from Loyc.Collections.IArraySink< T > | |
T | this[int index] [set] |
Properties inherited from Loyc.Collections.IDeque< T > | |
T | First [get, set] |
Gets the first item in the deque. More... | |
T | Last [get, set] |
Properties inherited from Loyc.Collections.ICount | |
int | Count [get] |
Gets the number of items in the collection. More... | |
Public Member Functions | |
DList (int capacity) | |
DList (IReadOnlyCollection< T > items) | |
DList (ICollection< T > items) | |
DList (ICollectionAndReadOnly< T > items) | |
DList (IEnumerable< T > items) | |
DList (T[] items) | |
int | IndexOf (T item) |
void | PushLast (ICollection< T > items) |
void | PushLast (IEnumerable< T > items) |
void | PushLast (IReadOnlyCollection< T > items) |
void | PushLast (ICollectionAndReadOnly< T > items) |
void | PushLast (T item) |
void | PushFirst (T item) |
void | PopLast (int amount) |
void | PopFirst (int amount) |
void | Insert (int index, T item) |
void | InsertRange (int index, ICollection< T > items) |
void | InsertRange (int index, IReadOnlyCollection< T > items) |
void | InsertRange (int index, ICollectionAndReadOnly< T > items) |
void | InsertRange (int index, IEnumerable< T > e) |
void | AddRange (ICollectionAndReadOnly< T > c) |
void | AddRange (ICollection< T > c) |
void | AddRange (IReadOnlyCollection< T > s) |
void | AddRange (IEnumerable< T > e) |
void | RemoveAt (int index) |
void | RemoveRange (int index, int amount) |
bool | TrySet (int index, T value) |
T | TryGet (int index, out bool fail) |
void | Add (T item) |
An alias for PushLast(). More... | |
void | Clear () |
bool | Contains (T item) |
void | CopyTo (T[] array, int arrayIndex) |
Copies the elements of the collection to an Array, starting at a particular array index. More... | |
bool | Remove (T item) |
InternalDList< T >.Enumerator | GetEnumerator () |
Maybe< T > | TryPopFirst () |
Maybe< T > | TryPeekFirst () |
Maybe< T > | TryPopLast () |
Maybe< T > | TryPeekLast () |
int | BinarySearch (T k, Comparer< T > comp) |
int | BinarySearch< K > (K k, Func< T, K, int > comp) |
void | Resize (int newSize) |
DList< T > | Clone () |
void | CopyTo (int sourceIndex, T[] destination, int destinationIndex, int subcount) |
DList< T > | CopySection (int start, int subcount) |
void | Sort (Comparison< T > comp) |
void | Sort (int index, int count, Comparison< T > comp) |
ListSlice< T > | Slice (int start, int count) |
void | CopyTo (Array array, int arrayIndex) |
new void | Remove (object obj) |
new int | Add (object obj) |
Public Member Functions inherited from Loyc.Collections.IListSource< T > | |
IRange< T > | Slice (int start, int count=int.MaxValue) |
Returns a sub-range of this list. More... | |
Public Member Functions inherited from Loyc.Collections.IContains< T > | |
bool | Contains (T item) |
Returns true if and only if the collection contains the specified item. More... | |
Public Member Functions inherited from Loyc.Collections.ICollectionSink< T > | |
void | Clear () |
bool | Remove (T item) |
Public Member Functions inherited from Loyc.Collections.IAddRange< T > | |
void | AddRange (IEnumerable< T > e) |
void | AddRange (IReadOnlyCollection< T > s) |
Public Member Functions inherited from Loyc.Collections.IListRangeMethods< T > | |
void | InsertRange (int index, IEnumerable< T > s) |
void | InsertRange (int index, IReadOnlyCollection< T > s) |
void | RemoveRange (int index, int amount) |
Protected fields | |
InternalDList< T > | _dlist = InternalDList<T>.Empty |
|
inline |
An alias for PushLast().
Referenced by Loyc.Ecs.Parser.EcsPreprocessor.NextToken().
|
inline |
Copies the elements of the collection to an Array, starting at a particular array index.
It's usually more convenient to call the ToArray() extension method, which calls this method for you.
This method exists for performance reasons (the collection itself can often copy data out faster than an enumerator can).
ArgumentNullException | array is null. |
ArgumentOutOfRangeException | arrayIndex is negative. |
ArgumentException | The number of elements in the source collection is greater than the available space from arrayIndex to the end of the destination array. |
Implements Loyc.Collections.ICollectionSource< T >.