Contents
- Que <A>
 - Empty = new (QueInternal<A>.Empty)
 - Que (IEnumerable<A> items)
 - Do (Action<A> f)
 - Case
 - IsEmpty
 - Count
 - Length
 - Clear ()
 - Peek ()
 - Dequeue ()
 - DequeueUnsafe ()
 - TryDequeue ()
 - TryPeek ()
 - Enqueue (A value)
 - ToSeq ()
 - AsEnumerable ()
 - GetEnumerator ()
 - + (Que<A> lhs, Que<A> rhs)
 - Append (Que<A> rhs)
 - - (Que<A> lhs, Que<A> rhs)
 - Subtract (Que<A> rhs)
 - == (Que<A> lhs, Que<A> rhs)
 - != (Que<A> lhs, Que<A> rhs)
 - GetHashCode ()
 - Equals (object obj)
 - Equals (Que<A> other)
 - Queue
 - enq <T> (Que<T> queue, T value)
 - deqUnsafe <T> (Que<T> queue)
 - deq <T> (Que<T> queue)
 - peekUnsafe <T> (Que<T> queue)
 - peek <T> (Que<T> queue)
 - clear <T> (Que<T> queue)
 - map <T, R> (Que<T> queue, Func<int, T, R> map)
 - filter <T> (Que<T> queue, Func<T, bool> predicate)
 - choose <T, U> (Que<T> queue, Func<T, Option<U>> selector)
 - choose <T, U> (Que<T> queue, Func<int, T, Option<U>> selector)
 - collect <T, R> (Que<T> queue, Func<T, IEnumerable<R>> map)
 - rev <T> (Que<T> queue)
 - append <T> (Que<T> lhs, IEnumerable<T> rhs)
 - fold <S, T> (Que<T> queue, S state, Func<S, T, S> folder)
 - foldBack <S, T> (Que<T> queue, S state, Func<S, T, S> folder)
 - reduce <T> (Que<T> queue, Func<T, T, T> reducer)
 - reduceBack <T> (Que<T> queue, Func<T, T, T> reducer)
 - scan <S, T> (Que<T> queue, S state, Func<S, T, S> folder)
 - scanBack <S, T> (Que<T> queue, S state, Func<S, T, S> folder)
 - find <T> (Que<T> queue, Func<T, bool> pred)
 - zip <T, U, V> (Que<T> queue, IEnumerable<U> other, Func<T, U, V> zipper)
 - length <T> (Que<T> queue)
 - iter <T> (Que<T> queue, Action<T> action)
 - iter <T> (Que<T> queue, Action<int, T> action)
 - forall <T> (Que<T> queue, Func<T, bool> pred)
 - distinct <T> (Que<T> queue)
 - distinct <EQ, T> (Que<T> queue)
 - take <T> (Que<T> queue, int count)
 - takeWhile <T> (Que<T> queue, Func<T, bool> pred)
 - takeWhile <T> (Que<T> queue, Func<T, int, bool> pred)
 - exists <T> (Que<T> queue, Func<T, bool> pred)
 - QueueExtensions
 - PopUnsafe <T> (this Que<T> queue)
 - Pop <T> (this Que<T> queue)
 - PeekUnsafe <T> (this Que<T> queue)
 - Peek <T> (this Que<T> queue)
 - Map <T, R> (this Que<T> queue, Func<T, R> map)
 - Map <T, R> (this Que<T> queue, Func<int, T, R> map)
 - Filter <T> (this Que<T> queue, Func<T, bool> predicate)
 - Choose <T, U> (this Que<T> queue, Func<T, Option<U>> selector)
 - Choose <T, U> (this Que<T> queue, Func<int, T, Option<U>> selector)
 - Collect <T, R> (this Que<T> queue, Func<T, IEnumerable<R>> map)
 - Rev <T> (this Que<T> queue)
 - Append <T> (this Que<T> lhs, IEnumerable<T> rhs)
 - Fold <S, T> (this Que<T> queue, S state, Func<S, T, S> folder)
 - FoldBack <S, T> (this Que<T> queue, S state, Func<S, T, S> folder)
 - ReduceBack <T> (this Que<T> queue, Func<T, T, T> reducer)
 - Reduce <T> (this Que<T> queue, Func<T, T, T> reducer)
 - Scan <S, T> (this Que<T> queue, S state, Func<S, T, S> folder)
 - ScanBack <S, T> (this Que<T> queue, S state, Func<S, T, S> folder)
 - Find <T> (this Que<T> queue, Func<T, bool> pred)
 - Length <T> (this Que<T> queue)
 - Iter <T> (this Que<T> queue, Action<T> action)
 - Iter <T> (this Que<T> queue, Action<int, T> action)
 - ForAll <T> (this Que<T> queue, Func<T, bool> pred)
 - Distinct <T> (this Que<T> queue)
 - Distinct <EQ, T> (this Que<T> list)
 - Exists <T> (this Que<T> queue, Func<T, bool> pred)
 
Immutable queue collection
Parameters
| type | A | Item value type  | 
Fields
field Que<A> Empty = new (QueInternal<A>.Empty) Source #
Properties
Constructors
Methods
method Que<A> Do (Action<A> f) Source #
Impure iteration of the bound value in the structure
Parameters
| returns | Returns the original unmodified structure  | |
Look at the item at the front of the queue
Parameters
| returns | The item at the front of the queue, or throw an exception if none exists  | |
method Que<A> Dequeue () Source #
Removes the item from the front of the queue
Parameters
| returns | A new   | |
method (Que<A> Queue, A Value) DequeueUnsafe () Source #
Removes the item from the front of the queue
Parameters
| returns | A tuple containing the new   | |
method (Que<A> Queue, Option<A> Value) TryDequeue () Source #
Removes the item from the front of the queue
Parameters
| returns | A tuple containing the new   | |
method Option<A> TryPeek () Source #
Look at the item at the front of the queue, if it exists.
Parameters
| returns | The item at the front of the queue, if it exists.    | |
method Que<A> Enqueue (A value) Source #
Add an item to the end of the queue
Parameters
| param | value | Value to add to the queue  | 
| returns | A new queue with the item added  | |
method IEnumerable<A> AsEnumerable () Source #
Convert to an IEnumerable
Parameters
| returns | 
  | |
method IEnumerator<A> GetEnumerator () Source #
Get an enumerator of the collection
Parameters
| returns | 
  | |
method Que<A> Append (Que<A> rhs) Source #
Append two queues together
Parameters
| param | rhs | Second part of the queue  | 
| returns | Concatenated queue  | |
method Que<A> Subtract (Que<A> rhs) Source #
Subtract one queue from another
Parameters
| param | rhs | Items to remove from the queue  | 
| returns | lhs - rhs  | |
method int GetHashCode () Source #
Hash code of the items in the queue
Parameters
| returns | Hash code  | |
Operators
operator + (Que<A> lhs, Que<A> rhs) Source #
Append two queues together
Parameters
| param | lhs | First part of the queue  | 
| param | rhs | Second part of the queue  | 
| returns | Concatenated queue  | |
operator - (Que<A> lhs, Que<A> rhs) Source #
Subtract one queue from another
Parameters
| param | lhs | Starting queue  | 
| param | rhs | Items to remove from the queue  | 
| returns | lhs - rhs  | |
Methods
method T peekUnsafe <T> (Que<T> queue) Source #
method S fold <S, T> (Que<T> queue, S state, Func<S, T, S> folder) Source #
Folds each value of the QueT into an S. wikipedia.org/wiki/Fold_(higher-order_function)
Parameters
| param | queue | Queue to fold  | 
| param | state | Initial state  | 
| param | folder | Fold function  | 
| returns | Folded state  | |
method S foldBack <S, T> (Que<T> queue, S state, Func<S, T, S> folder) Source #
Folds each value of the QueT into an S, but in reverse order. wikipedia.org/wiki/Fold_(higher-order_function)
Parameters
| param | queue | Queue to fold  | 
| param | state | Initial state  | 
| param | folder | Fold function  | 
| returns | Folded state  | |
method T reduceBack <T> (Que<T> queue, Func<T, T, T> reducer) Source #
class QueueExtensions Source #
Methods
method T PeekUnsafe <T> (this Que<T> queue) Source #
method T ReduceBack <T> (this Que<T> queue, Func<T, T, T> reducer) Source #