89 template <
class Fn,
class... Ts>
95 template <
class... Ts>
106 return sizeof...(Ts);
144 template <
class T,
class U>
149 template <
class T,
class U>
158 template <
bool If_,
class Then,
class Else>
169 template <
template <
class...>
class C,
class... Ts>
171 template <
template <
class...>
class D =
C,
class =
D<Ts...>>
172 static char (&try_(
int))[1];
173 static char (&try_(
long))[2];
179 template <
class... Us>
189 template <
class P,
class Q>
191 template <
class... Ts>
210 template <
template <
class...>
class C>
212 template <
class... Ts>
220 template <
class... Ts>
231 template <
template <
class...>
class C>
241 template <
class Fn,
class... Ts>
243 template <
class... Us>
254 template <
class Fn,
class... Ts>
256 template <
class... Us>
289 template <
class List,
class... Ts>
299 template <
class List,
class... Ts>
307 template <
class Fn,
class List>
313 struct TypeTransform_ {
314 template <
class... Ts>
326 template <
class List,
class Fn>
335 template <
class A,
class B>
343 template <
class... Ts>
345 template <
class A,
class... Ts>
346 struct Lambda<A, Ts...> {
347 template <
class State>
350 template <
class A,
class B,
class C,
class D,
class... Ts>
351 struct Lambda<A, B, C, D, Ts...> {
352 template <
class State>
364 template <
class... Ts>
365 using apply = Lambda<Ts...>;
379 template <
class List,
class State,
class Fn>
386 template <
class... Ts>
388 template <
class A,
class... Ts>
389 struct Lambda<A, Ts...> {
390 template <
class State>
393 template <
class A,
class B,
class C,
class D,
class... Ts>
394 struct Lambda<A, B, C, D, Ts...> {
395 template <
class State>
403 template <
class... Ts>
404 using apply = Lambda<Ts...>;
418 template <
class List,
class State,
class Fn>
422 template <
class List>
424 template <
class... Ts>
437 template <
class List>
443 #if defined(__GNUC__) || defined(_MSC_VER) 444 template <
class T,
class... Set>
447 template <
class T,
class... Set>
452 struct InsertFront_ {
453 template <
class... Set>
459 template <
class T,
class List>
474 template <
class List>
486 template <
class List>
493 struct AsTypeList_ {};
494 template <
template <
class...>
class T,
class... Ts>
495 struct AsTypeList_<T<Ts...>> {
498 template <
class T, T... Is>
522 template <
class... Ts>
525 template <
class List,
class Fn>
537 template <
class List>
548 template <
class... Ts>
—— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
MetaApply< MetaApply< List, impl::FoldR_< Fn >>, State > TypeFold
bool_constant< true > true_type
TypeJoin< TypeList< Ts... >> TypeConcat
MetaApply< List, MetaBindBack< MetaQuote< TypeList >, Ts... >> TypePushBack
MetaApply< impl::If_< If_ >, Then, Else > If
State
See Core for details.
MetaApply< List, MetaBindFront< MetaQuote< TypeList >, Ts... >> TypePushFront
std::integral_constant< bool, B > bool_constant
MetaApply< List, Fn > MetaUnpack
MetaApply< List, impl::TypeTransform_< Fn >> TypeTransform
typename Fn::template apply< Ts... > MetaApply
MetaApply< MetaApply< List, impl::FoldL_< Fn >>, State > TypeReverseFold
static constexpr std::size_t size() noexcept
TypeReverseFold< List, TypeList<>, MetaFlip< impl::Unique_ >> TypeReverseUnique
MetaApply< Fn, Ts... > apply
uint64_t value(const typename LockFreeRingBuffer< T, Atom >::Cursor &rbcursor)
bool_constant< false > false_type
TypeFold< List, TypeList<>, impl::Unique_ > TypeUnique
MetaApply< TypeFold< List, MetaQuote< TypeList >, impl::Join_ >> TypeJoin
decltype(auto) constexpr apply(F &&func, Tuple &&tuple)
_t< impl::AsTypeList_< T >> AsTypeList