Go to the source code of this file.
Namespaces | |
namespace | di |
namespace | di::meta |
namespace | di::concepts |
namespace | di::meta::detail |
namespace | di::concepts::detail |
Concepts | |
concept | di::concepts::Trait |
concept | di::concepts::AlwaysFalse |
This concept is used with static_assert() to cause the static assert to fail only when the template has been instantiated. | |
concept | di::concepts::AlwaysTrue |
This concept is used with static_assert() to stop compilation if any provided type is not well-formed. | |
concept | di::concepts::SameAs |
concept | di::concepts::OneOf |
concept | di::concepts::LanguageVoid |
concept | di::concepts::InstanceOf |
concept | di::concepts::InstanceOfV |
concept | di::concepts::InstanceOfT |
concept | di::concepts::TypeList |
Typedefs | |
template<concepts::Trait T> | |
using | di::meta::Type = T::Type |
template<typename T> | |
using | di::meta::TypeIdentity = Type<TypeConstant<T>> |
This is a helper template to prevent C++ from deducing the type of template argument. | |
template<typename T> | |
using | di::meta::RemoveConst = Type<detail::RemoveConstHelper<T>> |
template<typename T> | |
using | di::meta::RemoveVolatile = Type<detail::RemoveVolatile<T>> |
template<typename T> | |
using | di::meta::RemoveCV = RemoveConst<RemoveVolatile<T>> |
template<typename T> | |
using | di::meta::RemoveReference = Type<detail::RemoveReferenceHelper<T>> |
template<typename T> | |
using | di::meta::RemoveCVRef = RemoveCV<RemoveReference<T>> |
template<bool value, typename T, typename U> | |
using | di::meta::Conditional = detail::ConditionalHelper<value, T, U>::Type |
Variables | |
template<typename T, typename U> | |
constexpr auto | di::concepts::detail::same_as_helper = false |
template<typename T> | |
constexpr auto | di::concepts::detail::same_as_helper< T, T > = true |
template<typename T> | |
constexpr bool | di::concepts::detail::language_void_helper = false |
template<> | |
constexpr bool | di::concepts::detail::language_void_helper< void > = true |
template<typename T, template< typename... > typename Template> | |
constexpr bool | di::concepts::detail::instance_of_helper = false |
template<typename... Types, template< typename... > typename Template> | |
constexpr bool | di::concepts::detail::instance_of_helper< Template< Types... >, Template > = true |
template<typename T, template< auto... > typename Template> | |
constexpr bool | di::concepts::detail::instance_of_v_helper = false |
template<auto... values, template< auto... > typename Template> | |
constexpr bool | di::concepts::detail::instance_of_v_helper< Template< values... >, Template > = true |
template<typename T, template< template< typename... > typename... > typename Template> | |
constexpr bool | di::concepts::detail::instance_of_template_helper = false |
template<template< typename... > typename... Templates, template< template< typename... > typename... > typename Template> | |
constexpr bool | di::concepts::detail::instance_of_template_helper< Template< Templates... >, Template > = true |