di 0.1.0
Loading...
Searching...
No Matches
vocab.h File Reference

Go to the source code of this file.

Namespaces

namespace  di
namespace  di::vocab
namespace  di::concepts
namespace  di::meta
namespace  di::util

Concepts

concept  di::concepts::Array
concept  di::concepts::Expected
concept  di::concepts::ExpectedOf
concept  di::concepts::ExpectedError
concept  di::concepts::MaybeFallible
concept  di::concepts::Optional
concept  di::concepts::OptionalOf
concept  di::concepts::ReferenceWrapper
concept  di::concepts::Span
concept  di::concepts::Tuple
concept  di::concepts::Unexpected

Typedefs

template<concepts::Expected T>
using di::meta::ExpectedValue = meta::RemoveCVRef<T>::Value
template<concepts::Expected T>
using di::meta::ExpectedError = meta::RemoveCVRef<T>::Error
template<typename T, typename U>
using di::meta::LikeExpected = Type<detail::LikeExpectedHelper<T, U>>
template<typename T>
using di::meta::UnwrapExpected = Invoke<Conditional<concepts::Expected<T>, meta::Quote<ExpectedValue>, meta::TypeConstant<T>>, T>
template<concepts::Optional T>
using di::meta::OptionalValue = meta::RemoveCVRef<T>::Value
template<typename T>
using di::meta::WrapReference = detail::WrapReference<T>::Type
template<typename T>
using di::meta::UnwrapReference = detail::UnwrapReferenceHelper<T>::Type
template<typename T>
using di::meta::UnwrapRefDecay = UnwrapReference<Decay<T>>
template<typename T>
using di::meta::UnwrapRefRValue = RemoveRValueReference<UnwrapReference<T>>

Variables

template<typename T>
constexpr auto di::meta::ExpectedRank = 0ZU
template<concepts::Expected T>
constexpr auto di::meta::ExpectedRank< T > = 1 + ExpectedRank<ExpectedValue<T>>
template<typename T>
constexpr auto di::meta::OptionalRank = 0ZU
template<concepts::Optional T>
constexpr auto di::meta::OptionalRank< T > = 1 + OptionalRank<OptionalValue<T>>