|
template<concepts::Interface... Interfaces> |
using | MergeInterfaces = meta::Unique<meta::Concat<meta::Transform<Interfaces, meta::Quote<meta::Type>>...>> |
|
template<concepts::Method Method> |
using | MethodErasedSignature |
|
template<concepts::Method Method> |
using | MethodSignature = Method::Signature |
|
template<concepts::Method Method> |
using | MethodTag = Method::Tag |
|
template<typename T> |
using | BitValue = T::Value |
|
template<concepts::Allocator Alloc, typename T = void> |
using | AllocatorResult = meta::LikeExpected<decltype(di::allocate(util::declval<Alloc&>(), 0, 0)), T> |
|
template<concepts::ViewableContainer Con> |
using | AsView = decltype(container::view::all(util::declval<Con>())) |
|
template<concepts::Container Con> |
using | BorrowedIterator = Conditional<concepts::BorrowedContainer<Con>, ContainerIterator<Con>, container::Dangling> |
|
template<concepts::Container Con> |
using | BorrowedView |
|
template<concepts::InputIterator Iter> |
using | ConstIterator = Conditional<concepts::ConstantIterator<Iter>, Iter, container::ConstIteratorImpl<Iter>> |
|
template<typename Sent> |
using | ConstSentinel = detail::ConstSentinelHelper<Sent>::Type |
|
template<concepts::Container Con> |
using | ContainerConstIterator = ConstIterator<ContainerIterator<Con>> |
|
template<concepts::Container Con> |
using | ContainerConstReference = IteratorConstReference<ContainerIterator<Con>> |
|
template<typename T> |
using | ContainerIterator = decltype(container::begin(util::declval<T&>())) |
|
template<typename T, typename Tag = meta::RemoveCVRef<T>, typename It = ContainerIterator<T>, typename Sent = ContainerSentinel<T>> |
using | ContainerIteratorReconstructed |
|
template<typename T> |
using | ContainerReference = IteratorReference<ContainerIterator<T>> |
|
template<typename T> |
using | ContainerRValue = IteratorRValue<ContainerIterator<T>> |
|
template<typename T> |
using | ContainerSentinel = decltype(container::end(util::declval<T&>())) |
|
template<typename T> |
using | ContainerSizeType = decltype(container::size(util::declval<T>())) |
|
template<typename T> |
using | ContainerSSizeType = IteratorSSizeType<ContainerIterator<T>> |
|
template<typename T> |
using | ContainerValue = IteratorValue<ContainerIterator<T>> |
|
template<typename F, concepts::IndirectlyReadable... Its> |
using | IndirectResult = InvokeResult<F, meta::IteratorReference<Its>...> |
|
template<typename T> |
using | IteratorCategory = decltype(container::iterator_category(types::in_place_type<meta::RemoveCVRef<T>>)) |
|
template<concepts::IndirectlyReadable T> |
using | IteratorCommonReference = meta::CommonReference<meta::IteratorReference<T>, meta::IteratorValue<T>&> |
|
template<concepts ::IndirectlyReadable Iter> |
using | IteratorConstReference = meta::CommonReference<meta::IteratorValue<Iter> const&&, meta::IteratorReference<Iter>> |
|
template<typename It, typename Sent = It> |
using | IteratorReconstructed = decltype(container::reconstruct(util::declval<It>(), util::declval<Sent>())) |
|
template<typename T> |
using | IteratorReference = decltype(*util::declval<T const&>()) |
|
template<typename T> |
using | IteratorRValue = decltype(container::iterator_move(util::declval<T&>())) |
|
template<typename T> |
using | IteratorSizeType = MakeUnsigned<IteratorSSizeType<T>> |
|
template<typename T> |
using | IteratorSSizeType = decltype(container::iterator_ssize_type(types::in_place_type<meta::RemoveCVRef<T>>)) |
|
template<typename T> |
using | IteratorValue = meta::Type<decltype(container::iterator_value(types::in_place_type<meta::RemoveCVRef<T>>))> |
|
template<typename T, typename It = ContainerIterator<T>, typename Sent = ContainerSentinel<T>> |
using | Reconstructed = decltype(container::reconstruct(in_place_type<T>, util::declval<It>(), util::declval<Sent>())) |
|
template<typename T> |
using | EncodingCodeUnit = RemoveCVRef<T>::CodeUnit |
|
template<typename T> |
using | EncodingCodePoint = RemoveCVRef<T>::CodePoint |
|
template<typename T> |
using | EncodingIterator = RemoveCVRef<T>::Iterator |
|
template<concepts::HasEncoding T> |
using | Encoding = meta::RemoveCVRef<T>::Encoding |
|
template<typename T> |
using | MessageReply = Type<detail::MessageReplyHelper<T>> |
|
template<typename T> |
using | Protocol = typename T::Protocol |
|
template<concepts::HasProtocol T> |
using | MessageTypesWithoutReplies |
|
template<concepts::HasProtocol T> |
using | PeerMessageTypesWithoutReplies |
|
template<concepts::HasProtocol T> |
using | MessageTypes = Concat<MessageTypesWithoutReplies<T>, detail::MessagesReplies<PeerMessageTypesWithoutReplies<T>>> |
|
template<concepts::HasProtocol T> |
using | AllMessageTypesWithoutReplies = Concat<typename meta::Protocol<T>::Client, typename meta::Protocol<T>::Server> |
|
template<typename Awaitable, typename Promise = void> |
using | AwaitResult |
|
template<typename Sender, typename Env = types::EmptyEnv> |
using | CompletionSignaturesOf |
|
template<typename Send, typename Rec> |
using | ConnectResult = decltype(execution::connect(util::declval<Send>(), util::declval<Rec>())) |
|
template<typename... Types> |
using | DecayedTuple = vocab::Tuple<meta::Decay<Types>...> |
|
template<typename T> |
using | EnvOf = decltype(execution::get_env(util::declval<T>())) |
|
template<typename Sender, typename Env = types::EmptyEnv, template< typename... > typename Var = meta::VariantOrEmpty> |
using | ErrorTypesOf = GatherSignatures<execution::SetError, Sender, Env, meta::TypeIdentity, Var> |
|
template<concepts::ExecutionContext Context> |
using | ExecutionContextScheduler = decltype(util::declval<Context&>().get_scheduler()) |
|
template<typename Tag, typename S, typename E, template< typename... > typename Tuple, template< typename... > typename Variant> |
using | GatherSignatures |
|
template<typename Send, typename Env = types::EmptyEnv, concepts::ValidCompletionSignatures ExtraSigs = types::CompletionSignatures<>, template< typename... > typename SetValue = detail::DefaultSetValue, template< typename... > typename SetError = detail::DefaultSetError, concepts::ValidCompletionSignatures SetStopped = types::CompletionSignatures<execution::SetStopped()>> |
using | MakeCompletionSignatures |
|
template<typename Sched> |
using | ScheduleResult = decltype(execution::schedule(util::declval<Sched>())) |
|
template<typename Send, typename Env> |
using | SingleSenderValueType |
|
template<typename T> |
using | StopTokenOf = meta::RemoveCVRef<decltype(execution::get_stop_token(util::declval<T>()))> |
|
template<typename Sender, typename Env = types::EmptyEnv, template< typename... > typename Tup = meta::DecayedTuple, template< typename... > typename Var = meta::VariantOrEmpty> |
using | ValueTypesOf = GatherSignatures<execution::SetValue, Sender, Env, Tup, Var> |
|
template<typename... Types> |
using | VariantOrEmpty = detail::VariantOrEmptyHelper<meta::Unique<meta::List<Types...>>>::Type |
|
template<typename T> |
using | AllocatorOf = meta::RemoveCVRef<decltype(execution::get_allocator(util::declval<T>()))> |
|
template<concepts::Sender Seq> |
using | IntoLockstepSequence = decltype(execution::into_lockstep_sequence(util::declval<Seq>())) |
| Deduce the type of converting a sequence into a lockstep sequence.
|
|
template<typename Rec, typename Send> |
using | NextSenderOf = decltype(execution::set_next(util::declval<meta::RemoveCVRef<Rec>&>(), util::declval<Send>())) |
|
template<typename Send, typename Env> |
using | SequenceCompletionSignaturesOf |
|
template<typename Send, typename Rec> |
using | SubscribeResult = decltype(execution::subscribe(util::declval<Send>(), util::declval<Rec>())) |
|
template<typename... Ts> |
using | InvokeResult = decltype(function::detail::invoke_impl(util::declval<Ts>()...)) |
|
template<typename Tag, typename... Args> |
using | TagInvokeResult = decltype(di::function::tag_invoke(util::declval<Tag>(), util::declval<Args>()...)) |
|
template<typename T, concepts::Impl< io::Reader > Reader> |
using | ReaderResult |
|
template<typename T, concepts::Impl< io::Writer > Writer> |
using | WriterResult |
|
template<typename R, concepts::TypeList T> |
using | AsLanguageFunction = Type<detail::AsLanguageFunction<R, T>> |
|
template<typename T> |
using | AsList = Type<detail::AsListHelper<T>> |
|
template<template< typename... > typename Template, concepts::TypeList T> |
using | AsTemplate = Type<detail::AsTemplateHelper<Template, T>> |
|
template<concepts::TypeList T> |
using | AsTuple = AsTemplate<vocab::Tuple, T> |
|
template<concepts::TypeList... Lists> |
using | Concat = Type<detail::ConcatHelper<Lists...>> |
|
template<concepts::TypeList L, typename T> |
using | PushFront = Concat<List<T>, L> |
|
template<concepts::TypeList L, typename T> |
using | PushBack = Concat<L, List<T>> |
|
template<concepts::TypeList List> |
using | Join = Apply<Quote<Concat>, List> |
|
template<concepts::TypeList L> |
using | PopFront = Type<detail::PopFrontHelper<L>> |
|
template<concepts::TypeList L> |
using | PopBack = Type<detail::PopBackHelper<L>> |
|
template<concepts::TypeList List, typename Init, concepts::MetaInvocable MetaFn> |
using | Fold = Type<detail::FoldHelper<List, Init, MetaFn>> |
|
template<concepts::TypeList List, typename Init, concepts::MetaInvocable MetaFn> |
using | FoldRight = Type<detail::FoldRightHelper<List, Init, MetaFn>> |
|
template<concepts::TypeList List, concepts::MetaInvocable Pred> |
using | Filter = Fold<List, meta::List<>, detail::FilterReducer<Pred>> |
|
template<concepts::TypeList List, typename Needle, typename Replacement> |
using | Replace = Fold<List, meta::List<>, detail::ReplaceReducer<Needle, Replacement>> |
|
template<concepts::TypeList List, concepts::MetaInvocable Pred, typename Replacement> |
using | ReplaceIf = Fold<List, meta::List<>, detail::ReplaceIfReducer<Pred, Replacement>> |
|
template<concepts::TypeList List, typename Function> |
using | Transform = detail::TransformHelper<List, Function>::Type |
|
template<concepts::TypeList Lst> |
using | Unique = Fold<Lst, List<>, detail::PushBackIfUnique> |
|
template<concepts::TypeList T, concepts::TypeList U> |
using | Zip = Type<detail::ZipHelper<T, U>> |
|
template<typename T, usize N> |
using | Repeat = Type<detail::RepeatHelper<T, N>> |
|
template<concepts::TypeList... Types> |
using | CartesianProduct = Type<detail::CartesianProductHelper<Types...>> |
|
template<typename T, usize count> |
using | MakeIntegerSequence = Type<detail::MakeIntegerSequenceHelper<T, count>> |
|
template<usize count> |
using | MakeIndexSequence = MakeIntegerSequence<usize, count> |
|
template<typename... Types> |
using | IndexSequenceFor = MakeIndexSequence<sizeof...(Types)> |
|
template<typename F, typename... Args> |
using | CallResult = decltype(util::declval<F>()(util::declval<Args>()...)) |
|
template<typename... Types> |
using | CommonType = detail::CommonTypeHelper<Types...>::Type |
|
template<typename... Types> |
using | CommonReference = detail::CommonReferenceHelper<Types...>::Type |
|
template<typename... Types> |
using | CommonComparisonCategory = Type<detail::CommonComparisonCategoryHelper<Types...>> |
|
template<typename T, typename U = T> |
using | CompareThreeWayResult = meta::Type<detail::CompareThreeWayResultHelper<T, U>> |
|
template<concepts::Trait T> |
using | Type = T::Type |
|
template<typename T> |
using | TypeIdentity = Type<TypeConstant<T>> |
| This is a helper template to prevent C++ from deducing the type of template argument.
|
|
template<typename T> |
using | RemoveConst = Type<detail::RemoveConstHelper<T>> |
|
template<typename T> |
using | RemoveVolatile = Type<detail::RemoveVolatile<T>> |
|
template<typename T> |
using | RemoveCV = RemoveConst<RemoveVolatile<T>> |
|
template<typename T> |
using | RemoveReference = Type<detail::RemoveReferenceHelper<T>> |
|
template<typename T> |
using | RemoveCVRef = RemoveCV<RemoveReference<T>> |
|
template<bool value, typename T, typename U> |
using | Conditional = detail::ConditionalHelper<value, T, U>::Type |
|
template<template< typename... > typename Fun, typename... Args> |
using | Defer = detail::DeferHelper<Fun, Args...> |
|
template<concepts::MetaInvocable Fun, typename... Args> |
using | Invoke = Type<Defer<Fun::template Invoke, Args...>> |
|
template<concepts::MetaInvocable F, concepts::TypeList T> |
using | Apply = Type<detail::ApplyHelper<F, T>> |
|
template<concepts::MetaInvocable... Funs> |
using | Compose = detail::ComposeHelper<Funs...> |
|
template<concepts::MetaInvocable... Funs> |
using | Chain = detail::ChainHelper<Funs...> |
|
template<concepts::LanguageFunction Fun> |
using | LanguageFunctionReturn = Type<detail::LanguageFunctionReturnHelper<Fun>> |
|
template<typename T> |
using | RemoveExtent = Type<detail::RemoveExtentHelper<T>> |
|
template<typename T> |
using | RemoveAllExtents = Type<detail::RemoveAllExtentsHelper<T>> |
|
template<concepts::MemberPointer T> |
using | MemberPointerValue = Type<detail::MemberPointerValueHelper<RemoveCV<T>>> |
|
template<concepts::MemberPointer T> |
using | MemberPointerClass = Type<detail::MemberPointerClassHelper<RemoveCV<T>>> |
|
template<concepts::Enum T> |
using | UnderlyingType = __underlying_type(T) |
|
template<typename T> |
using | MakeSigned = detail::MakeSignedHelper<RemoveCV<T>>::Type |
|
template<typename T> |
using | MakeUnsigned = detail::MakeUnsignedHelper<RemoveCV<T>>::Type |
|
template<typename T> |
using | AddConst = T const |
|
template<typename T> |
using | AddVolatile = T volatile |
|
template<typename T> |
using | AddCV = T const volatile |
|
template<typename T> |
using | AddLValueReference = Type<detail::AddLValueReferenceHelper<T>> |
|
template<typename T> |
using | AddRValueReference = Type<detail::AddRValueReferenceHelper<T>> |
|
template<typename T> |
using | AddPointer = Type<detail::AddPointerHelper<T>> |
| This is a helper template which will convert reference types into their corresponding pointer type, while also working for non-references.
|
|
template<typename T, typename U> |
using | Like = Type<detail::LikeHelper<T, U>> |
|
template<typename T> |
using | RemoveRValueReference = Conditional<concepts::RValueReference<T>, RemoveReference<T>, T> |
|
template<typename T> |
using | RemovePointer = Type<detail::RemovePointerHelper<T>> |
|
template<typename T> |
using | RemoveFunctionQualifiers = Type<detail::RemoveFunctionQualifiersHelper<T>> |
|
template<typename T> |
using | Decay |
|
template<concepts::TypeList T> |
using | Front = T::Front |
|
template<concepts::TypeList T> |
using | Back = T::Back |
|
template<concepts::TypeList T, usize index> |
using | At = typename T::template At<index> |
|
template<bool is_const, typename T> |
using | MaybeConst = Conditional<is_const, T const, T> |
|
template<concepts::Expected T> |
using | ExpectedValue = meta::RemoveCVRef<T>::Value |
|
template<concepts::Expected T> |
using | ExpectedError = meta::RemoveCVRef<T>::Error |
|
template<typename T, typename U> |
using | LikeExpected = Type<detail::LikeExpectedHelper<T, U>> |
|
template<typename T> |
using | UnwrapExpected = Invoke<Conditional<concepts::Expected<T>, meta::Quote<ExpectedValue>, meta::TypeConstant<T>>, T> |
|
template<concepts::Optional T> |
using | OptionalValue = meta::RemoveCVRef<T>::Value |
|
template<typename T> |
using | WrapReference = detail::WrapReference<T>::Type |
|
template<typename T> |
using | UnwrapReference = detail::UnwrapReferenceHelper<T>::Type |
|
template<typename T> |
using | UnwrapRefDecay = UnwrapReference<Decay<T>> |
|
template<typename T> |
using | UnwrapRefRValue = RemoveRValueReference<UnwrapReference<T>> |
|
template<concepts::IntoParserContext T> |
using | AsParserContext = decltype(parser::into_parser_context(util::declval<T>())) |
|
template<concepts::ParserContext Context> |
using | ParserContextError = Context::Error |
|
template<typename T, concepts::ParserContext Context> |
using | ParserContextResult = vocab::Expected<T, meta::ParserContextError<Context>> |
|
template<concepts::ParserContext Context, concepts::Parser< Context > Parser> |
using | ParserValue = meta::ExpectedValue<decltype(util::declval<Parser&>().parse(util::declval<Context&>()))> |
|
template<concepts::Reflectable T> |
using | Reflect = decltype(reflection::reflect(in_place_type<T>)) |
|
template<concepts::Deserializer S> |
using | DeserializationFormat = typename meta::RemoveCVRef<S>::DeserializationFormat |
|
template<typename T, typename Reader = any::AnyRef<io::Reader>, typename... Args> |
using | Deserializer |
|
template<typename S, typename T> |
using | DeserializeResult = meta::LikeExpected<meta::ReaderResult<void, decltype(util::declval<S>().reader())>, T> |
|
template<concepts::DeserializationFormat S, typename T> |
using | DeserializeMetadata = decltype(serialization::deserialize_metadata(in_place_type<T>, in_place_type<S>)) |
|
template<concepts::Serializer S> |
using | SerializationFormat = typename meta::RemoveCVRef<S>::SerializationFormat |
|
template<typename T, typename Writer = any::AnyRef<io::Writer>, typename... Args> |
using | Serializer |
|
template<typename S> |
using | SerializeResult = meta::WriterResult<void, decltype(util::declval<S>().writer())> |
|
template<concepts::SerializationFormat S, typename T> |
using | SerializeMetadata = decltype(serialization::serialize_metadata(in_place_type<T>, in_place_type<S>)) |
|
template<template< typename... > typename Template, typename... Args> |
using | DeduceCreate = decltype(util::deduce_create(in_place_template<Template>, util::declval<Args>()...)) |
|
template<typename Args, typename Tag> |
using | NamedArgument = decltype(util::get_named_argument<Tag>(declval<Args>())) |
| A metafunction to the type of a named argument.
|
|
template<typename Args, typename Tag> |
using | NamedArgumentValue = meta::Decay<NamedArgument<Args, Tag>> |
| A metafunction to get the value type of a named argument.
|
|
template<typename Args, typename Tag, typename Fallback> |
using | NamedArgumentOr = decltype(util::get_named_argument_or<Tag>(declval<Args>(), declval<Fallback>())) |
| A metafunction to get the type of a named argument with fallback.
|
|
template<typename Args, typename Tag, typename Fallback> |
using | NamedArgumentValueOr = meta::Decay<NamedArgumentOr<Args, Tag, Fallback>> |
| A metafunction to get the value type of a named argument with fallback.
|
|
template<typename... Types> |
using | CommonError = detail::CommonErrorHelper<Types...>::Type |
|
template<typename T> |
using | StatusCodeDomain = detail::StatusCodeDomainHelper<T>::Type |
|
template<typename T> |
using | StatusCodeDomainValue = detail::StatusCodeDomainValueHelper<T>::Type |
|
template<typename T, types::size_t index> |
using | TupleElement = decltype(vocab::tuple_element(types::in_place_type<meta::RemoveReference<T>>, c_<index>))::Type |
|
template<concepts::TupleLike Tup> |
using | TupleElements |
|
template<concepts::TupleLike Tup, types::size_t index> |
using | TupleValue = decltype(util::get<index>(util::declval<Tup>())) |
|
template<typename T, size_t index> |
using | VariantAlternative = decltype(vocab::variant_alternative(in_place_type<meta::RemoveReference<T>>, c_<index>)) |
|
template<typename T> |
using | VariantTypes = decltype(vocab::variant_types(in_place_type<meta::RemoveCVRef<T>>)) |
|
template<concepts::VariantLike Var, size_t index> |
using | VariantValue = decltype(util::get<index>(util::declval<Var>())) |
|