|
Anklang-0.3.0.dev551+gad1415e2 anklang-0.3.0.dev551+gad1415e2
ASE — Anklang Sound Engine (C++)
« « « Anklang Documentation |
Multiplexer to pop from multiple Queues, while preserving priorities. More...
#include "queuemux.hh"
Classes | |
| class | Iter |
| struct | Ptr |
Public Types | |
| using | ValueType = std::remove_reference_t< decltype(*std::declval< ForwardIterator >())> |
| using | Priority = decltype(QueueMultiplexer_priority(std::declval< const ValueType & >())) |
| using | iterator = Iter |
Public Member Functions | |
| template<class IterableContainer > | |
| bool | assign (const std::array< const IterableContainer *, MAXQUEUES > &queues) |
| size_t | count_pending () const noexcept |
| bool | more () const noexcept |
| const ValueType & | peek () noexcept |
| const ValueType & | pop () noexcept |
| iterator | begin () |
| iterator | end () |
Public Attributes | |
| ssize_t | n_queues |
| ssize_t | current |
| Priority | first |
| Priority | next |
| std::array< Ptr, MAXQUEUES > | ptrs |
Multiplexer to pop from multiple Queues, while preserving priorities.
Order for values at the same priority is unstable. Relies on unqualified calls to Priority QueueMultiplexer_priority (const ValueType&).
Definition at line 14 of file queuemux.hh.
| struct Ase::QueueMultiplexer::Ptr |
Definition at line 17 of file queuemux.hh.
| Class Members | ||
|---|---|---|
| ForwardIterator | end | |
| ForwardIterator | it | |
| using Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::iterator = Iter |
Definition at line 102 of file queuemux.hh.
| using Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::Priority = decltype (QueueMultiplexer_priority (std::declval<const ValueType&>())) |
Definition at line 16 of file queuemux.hh.
| using Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::ValueType = std::remove_reference_t<decltype (*std::declval<ForwardIterator>())> |
Definition at line 15 of file queuemux.hh.
| Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::QueueMultiplexer | ( | ) |
Definition at line 21 of file queuemux.hh.
| bool Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::assign | ( | const std::array< const IterableContainer *, MAXQUEUES > & | queues | ) |
Definition at line 23 of file queuemux.hh.
| iterator Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::begin | ( | ) |
Definition at line 103 of file queuemux.hh.
|
noexcept |
Definition at line 42 of file queuemux.hh.
| iterator Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::end | ( | ) |
Definition at line 104 of file queuemux.hh.
|
noexcept |
Definition at line 50 of file queuemux.hh.
|
noexcept |
Definition at line 55 of file queuemux.hh.
|
noexcept |
Definition at line 62 of file queuemux.hh.
| ssize_t Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::current |
Definition at line 18 of file queuemux.hh.
| Priority Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::first |
Definition at line 19 of file queuemux.hh.
| ssize_t Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::n_queues |
Definition at line 18 of file queuemux.hh.
| Priority Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::next |
Definition at line 19 of file queuemux.hh.
| std::array<Ptr, MAXQUEUES> Ase::QueueMultiplexer< MAXQUEUES, ForwardIterator >::ptrs |
Definition at line 20 of file queuemux.hh.