| 
    Anklang-0.3.0.dev502+ga23511a1 anklang-0.3.0.dev502+ga23511a1
    
   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.