|
Enhanced C#
Language of your choice: library documentation
|
Adapter: This class wraps an IEnumerator{T} or IEnumerable{T} into an IListSource{T}, lazily reading the sequence as TryGet is called. More...
Adapter: This class wraps an IEnumerator{T} or IEnumerable{T} into an IListSource{T}, lazily reading the sequence as TryGet is called.
Avoid calling Count if you actually want laziness; this property must read and buffer the entire sequence.
Properties | |
| override int | Count [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 | |
| BufferedSequence (IEnumerable< T > e) | |
| BufferedSequence (IEnumerator< T > e) | |
| override IEnumerator< T > | GetEnumerator () |
| override T | TryGet (int index, out bool fail) |
| Gets the item at the specified index, and does not throw an exception on failure. 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) |
|
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 >.
1.8.7