32 concept RowDequeLike =
requires(Q q,
const Q cq, T item,
size_t n) {
34 { q.push_back(std::move(item)) } -> std::same_as<void>;
35 { q.pop_front() } -> std::same_as<T>;
36 { cq.empty() } -> std::same_as<bool>;
37 { cq.is_waitable() } -> std::same_as<bool>;
38 { q.wait() } -> std::same_as<void>;
39 { q.notify_all() } -> std::same_as<void>;
40 { q.kill_all() } -> std::same_as<void>;
41 { q.front() } -> std::same_as<T&>;
42 { q[n] } -> std::same_as<T&>;
43 { cq.size() } -> std::same_as<size_t>;