Enhanced C#
Language of your choice: library documentation
|
Adapter from IListSource{T} to ISparseListSource{T}. More...
Adapter from IListSource{T} to ISparseListSource{T}.
Properties | |
sealed override int | Count [get] |
IEnumerable< KeyValuePair< int, T > > | Items [get] |
Properties inherited from Loyc.Collections.Impl.ListSourceBase< T > | |
abstract override int | Count [get] |
bool | IsEmpty [get] |
T | this[int index] [get] |
Properties inherited from Loyc.Collections.Impl.ReadOnlyCollectionBase< T > | |
abstract int | Count [get] |
Properties inherited from Loyc.Collections.IIsEmpty | |
bool | IsEmpty [get] |
Public Member Functions | |
ListSourceAsSparse (Loyc.Collections.IListSource< T > list) | |
sealed override T | TryGet (int index, out bool fail) |
Gets the item at the specified index, and does not throw an exception on failure. More... | |
bool | IsSet (int index) |
Determines whether a value exists at the specified index. More... | |
new System.Collections.IEnumerator | GetEnumerator () |
T | NextHigherItem (ref int?index) |
Increases index by at least one to reach the next index that is not classified as empty space, and returns the item at that index. More... | |
T | NextLowerItem (ref int?index) |
Decreases index by at least one to reach the next index that is not classified as empty space, and returns the item at that index. More... | |
Public Member Functions inherited from Loyc.Collections.Impl.ListSourceBase< T > | |
int | IndexOf (T item) |
Slice_< T > | Slice (int start, int count) |
Returns a sub-range of this list. More... | |
override IEnumerator< T > | GetEnumerator () |
Public Member Functions inherited from Loyc.Collections.Impl.ReadOnlyCollectionBase< T > | |
bool | Contains (T item) |
Additional Inherited Members | |
Protected Member Functions inherited from Loyc.Collections.Impl.ListSourceBase< T > | |
int | ThrowIndexOutOfRange (int index) |
|
inline |
Determines whether a value exists at the specified index.
index |
Implements Loyc.Collections.ISparseListSource< T >.
|
inline |
Increases index
by at least one to reach the next index that is not classified as empty space, and returns the item at that index.
index | This parameter is increased by at least one, and perhaps more than one so that it refers to an index where there is a value. If index is null upon entering this method, the first non-empty space in the list is found. If there are no values at higher indexes, if the list is empty or if index + 1 >= Count , index is null when the method returns. |
This method must skip over all indexes i for which IsSet(i)
returns false, and return the next index for which IsSet(i)
returns true. This method must accept any integer as input, including invalid indexes.
Implements Loyc.Collections.ISparseListSource< T >.
|
inline |
Decreases index
by at least one to reach the next index that is not classified as empty space, and returns the item at that index.
index | This parameter is increased by at least one, and perhaps more than one so that it refers to an index where there is a value. If index is null upon entering this method, the last non-empty space in the list is found. If there are no values at lower indexes, if the list is empty or if index is 0 or less, index is null when the method returns. |
This method must skip over all indexes i for which IsSet(i)
returns false, and return the next index for which IsSet(i)
returns true. This method must accept any integer as input, including invalid indexes.
Implements Loyc.Collections.ISparseListSource< T >.
|
inlinevirtual |
Gets the item at the specified index, and does not throw an exception on failure.
index | An index in the range 0 to Count-1. |
fail | A flag that is set on failure. |
In my original design, the caller could provide a value to return on failure, but this would not allow T to be marked as "out" in C# 4. For the same reason, we cannot have a ref/out T parameter. Instead, the following extension methods are provided:
Implements Loyc.Collections.Impl.ListSourceBase< T >.