Enhanced C#
Loyc library documentation
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Nested classes | Public fields | Properties | Public Member Functions | List of all members
Loyc.Collections.BufferedSequence< T > Class Template Reference

Adapter: This class wraps an IEnumerator{T} or IEnumerable{T} into an IListSource{T}, lazily reading the sequence as TryGet is called. More...


Source file:
Inheritance diagram for Loyc.Collections.BufferedSequence< T >:
Loyc.Collections.Impl.ListSourceBase< T > Loyc.Collections.IScannable< T > Loyc.Collections.Impl.ReadOnlyCollectionBase< T > Loyc.Collections.IListImpl< T > Loyc.Collections.IScan< T > Loyc.Collections.ICollectionImpl< T > Loyc.Collections.IListAndListSource< T > Loyc.Collections.IListSink< in T > Loyc.Collections.ICollectionImpl< T > Loyc.Collections.ICollectionAndReadOnly< T > Loyc.Collections.ICollectionSink< in T > Loyc.Collections.ICollectionSource< T > Loyc.Collections.IArraySink< in T > Loyc.Collections.ICollectionSink< in T > Loyc.Collections.ICollectionAndSource< T > Loyc.Collections.IListSource< out T > Loyc.Collections.IListAndReadOnly< T > Loyc.Collections.ICollectionAndReadOnly< T > Loyc.Collections.ICollectionSink< in T > Loyc.Collections.ICollectionSource< T > Loyc.Collections.BufferedSequence< T >.Scanner

Remarks

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.

Nested classes

struct  Scanner
 

Public fields

int BufferedCount => _buffer.Count
 Gets the number of items that have already been pulled from the enumerator and stored in this object's buffer. More...
 

Properties

override int Count [get]
 
- Properties inherited from Loyc.Collections.Impl.ListSourceBase< T >
abstract override int Count [get]
 
bool IsEmpty [get]
 
this[int index] [get]
 
- Properties inherited from Loyc.Collections.Impl.ReadOnlyCollectionBase< T >
abstract int Count [get]
 
- Properties inherited from Loyc.Collections.ISource< out T >
new int Count [get]
 Gets the number of items in the collection. More...
 
- Properties inherited from Loyc.Collections.ICount
int Count [get]
 Gets the number of items in the collection. More...
 
- Properties inherited from Loyc.Collections.IIsEmpty
bool IsEmpty [get]
 
- Properties inherited from Loyc.Collections.IIndexed< in K, out V >
this[K key] [get]
 Gets the value associated with the specified key. More...
 
- Properties inherited from Loyc.Collections.IArraySink< in T >
this[int index] [set]
 

Public Member Functions

 BufferedSequence (IEnumerable< T > e)
 
 BufferedSequence (IEnumerator< T > e)
 
override IEnumerator< T > GetEnumerator ()
 
override T TryGet (int index, out bool fail)
 
Scanner Scan ()
 
- 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)
 Returns true if and only if the collection contains the specified item. More...
 
- Public Member Functions inherited from Loyc.Collections.ITryGet< in K, out V >
TryGet (K key, out bool fail)
 Gets the item for the specified key or index, and does not throw an exception on failure. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Loyc.Collections.Impl.ListSourceBase< T >
int ThrowIndexOutOfRange (int index)
 

Member Data Documentation

int Loyc.Collections.BufferedSequence< T >.BufferedCount => _buffer.Count

Gets the number of items that have already been pulled from the enumerator and stored in this object's buffer.