|
template<typename R, concepts::TypeList T> |
using | di::meta::AsLanguageFunction = Type<detail::AsLanguageFunction<R, T>> |
|
template<typename T> |
using | di::meta::AsList = Type<detail::AsListHelper<T>> |
|
template<template< typename... > typename Template, concepts::TypeList T> |
using | di::meta::AsTemplate = Type<detail::AsTemplateHelper<Template, T>> |
|
template<concepts::TypeList T> |
using | di::meta::AsTuple = AsTemplate<vocab::Tuple, T> |
|
template<concepts::TypeList... Lists> |
using | di::meta::Concat = Type<detail::ConcatHelper<Lists...>> |
|
template<concepts::TypeList L, typename T> |
using | di::meta::PushFront = Concat<List<T>, L> |
|
template<concepts::TypeList L, typename T> |
using | di::meta::PushBack = Concat<L, List<T>> |
|
template<concepts::TypeList List> |
using | di::meta::Join = Apply<Quote<Concat>, List> |
|
template<concepts::TypeList L> |
using | di::meta::PopFront = Type<detail::PopFrontHelper<L>> |
|
template<concepts::TypeList L> |
using | di::meta::PopBack = Type<detail::PopBackHelper<L>> |
|
template<concepts::TypeList List, typename Init, concepts::MetaInvocable MetaFn> |
using | di::meta::Fold = Type<detail::FoldHelper<List, Init, MetaFn>> |
|
template<concepts::TypeList List, typename Init, concepts::MetaInvocable MetaFn> |
using | di::meta::FoldRight = Type<detail::FoldRightHelper<List, Init, MetaFn>> |
|
template<concepts::TypeList List, concepts::MetaInvocable Pred> |
using | di::meta::Filter = Fold<List, meta::List<>, detail::FilterReducer<Pred>> |
|
template<concepts::TypeList List, typename Needle, typename Replacement> |
using | di::meta::Replace = Fold<List, meta::List<>, detail::ReplaceReducer<Needle, Replacement>> |
|
template<concepts::TypeList List, concepts::MetaInvocable Pred, typename Replacement> |
using | di::meta::ReplaceIf = Fold<List, meta::List<>, detail::ReplaceIfReducer<Pred, Replacement>> |
|
template<concepts::TypeList List, typename Function> |
using | di::meta::Transform = detail::TransformHelper<List, Function>::Type |
|
template<concepts::TypeList Lst> |
using | di::meta::Unique = Fold<Lst, List<>, detail::PushBackIfUnique> |
|
template<concepts::TypeList T, concepts::TypeList U> |
using | di::meta::Zip = Type<detail::ZipHelper<T, U>> |
|
template<typename T, usize N> |
using | di::meta::Repeat = Type<detail::RepeatHelper<T, N>> |
|
template<concepts::TypeList... Types> |
using | di::meta::CartesianProduct = Type<detail::CartesianProductHelper<Types...>> |
|
template<concepts::InstanceOfV< ListV >... Lists> |
using | di::meta::ConcatV = Type<detail::ConcatVHelper<Lists...>> |
|
template<concepts::InstanceOfV< ListV > List> |
using | di::meta::ReverseV = Type<detail::ReverseVHelper<List>> |
|
template<typename T, usize count> |
using | di::meta::MakeIntegerSequence = Type<detail::MakeIntegerSequenceHelper<T, count>> |
|
template<usize count> |
using | di::meta::MakeIndexSequence = MakeIntegerSequence<usize, count> |
|
template<usize count> |
using | di::meta::MakeReverseIndexSequence = ReverseV<MakeIntegerSequence<usize, count>> |
|
template<typename... Types> |
using | di::meta::IndexSequenceFor = MakeIndexSequence<sizeof...(Types)> |
|