Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)
« « « Anklang Documentation |
#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.