- AtomDequeuedEvent <in A>
- AtomEnqueuedEvent <in A>
- AtomQue <A>
- Do (Action<A> f)
- Case
- IsEmpty
- Count
- Length
- Clear ()
- Peek ()
- Dequeue ()
- DequeueUnsafe ()
- Enqueue (A value)
- ToSeq ()
- AsEnumerable ()
- GetEnumerator ()
- Append (Que<A> rhs)
- Append (AtomQue<A> rhs)
- == (AtomQue<A> lhs, AtomQue<A> rhs)
- == (AtomQue<A> lhs, Que<A> rhs)
- == (Que<A> lhs, AtomQue<A> rhs)
- != (AtomQue<A> lhs, AtomQue<A> rhs)
- != (Que<A> lhs, AtomQue<A> rhs)
- != (AtomQue<A> lhs, Que<A> rhs)
- GetHashCode ()
- Equals (object obj)
- Equals (AtomQue<A>? other)
- Equals (Que<A> other)
delegate AtomDequeuedEvent <in A> Source #
Event thrown when an item is dequeued from an AtomQue
type | A | Item that was dequeued |
delegate AtomEnqueuedEvent <in A> Source #
Event thrown when an item is enqueued to an AtomQue
type | A | Item that was enqueued |
Atoms provide a way to manage shared, synchronous, independent state without
locks. AtomQue
wraps the language-ext Que
, and makes sure all operations are atomic and thread-safe
without resorting to locking.
See the concurrency section of the wiki for more info.
type | A | Item value type |
method Unit Do (Action<A> f) Source #
Impure iteration of the bound value in the structure
returns | Returns the original unmodified structure |
method Option<A> Peek () Source #
Look at the item at the front of the queue, if it exists.
returns | The item at the front of the queue, if it exists. |
method Option<A> Dequeue () Source #
Removes the item from the front of the queue atomically
returns | The item that was at the front of the queue (if it existed, |
method A DequeueUnsafe () Source #
Removes the item from the front of the queue atomically
returns | The item that was at the front of the queue, or an |
method Unit Enqueue (A value) Source #
Add an item to the end of the queue atomically
param | value | Value to add to the queue |
method IEnumerable<A> AsEnumerable () Source #
method IEnumerator<A> GetEnumerator () Source #
method int GetHashCode () Source #