7#define QDEBUG(...) Ase::debug ("queuemux", __VA_ARGS__)
16static __attribute__ ((always_inline))
inline long
17QueueMultiplexer_priority (
const SomeValue &o)
27 int ascending_counter = -17;
28 auto ascending_values = [&ascending_counter] () {
31 return ascending_counter;
33 const size_t TOTAL = 39;
35 for (
size_t i = 0; i < TOTAL; i++)
36 samples.push_back (ascending_values());
39 constexpr size_t N = 4;
48 for (
size_t i = 0; i < queues.size(); i++)
49 queue_ptrs[i] = &queues[i];
51 mux.assign (queue_ptrs);
52 TASSERT (mux.count_pending() == TOTAL);
53 int last = -2147483648;
57 const SomeValue ¤t = mux.pop();
58 QDEBUG (
"QueueMultiplexer: %d\n", current.i);
61 TASSERT (sc < samples.size() && samples[sc++] == current.i);
64 TASSERT (mux.count_pending() == 0);
#define TEST_INTEGRITY(FUNC)
Register func as an integrity test.
The Anklang C++ API namespace.
#define TASSERT(cond)
Unconditional test assertion, enters breakpoint if not fullfilled.