Iros
 
Loading...
Searching...
No Matches
vocab.h File Reference

Go to the source code of this file.

Classes

struct  di::meta::detail::LikeExpectedHelper< T, U >
 
struct  di::meta::detail::LikeExpectedHelper< vocab::Expected< X, E >, U >
 
struct  di::meta::detail::WrapReference< T >
 
struct  di::meta::detail::WrapReference< T >
 
struct  di::meta::detail::UnwrapReferenceHelper< T >
 
struct  di::meta::detail::UnwrapReferenceHelper< T >
 

Namespaces

namespace  di
 
namespace  di::vocab
 
namespace  di::concepts
 
namespace  di::concepts::detail
 
namespace  di::meta
 
namespace  di::meta::detail
 
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 bool di::concepts::detail::array_helper = false
 
template<typename T, usize size>
constexpr bool di::concepts::detail::array_helper< vocab::Array< T, size > > = true
 
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>>
 
template<typename T>
constexpr bool di::concepts::detail::span_helper = false
 
template<typename T, usize extent>
constexpr bool di::concepts::detail::span_helper< vocab::Span< T, extent > > = true