di 0.1.0
|
#include "di/meta/core.h"
#include "di/types/integers.h"
#include "di/types/nullptr_t.h"
#include "di/util/initializer_list.h"
Go to the source code of this file.
Classes | |
struct | di::meta::IsFunctionTo< R > |
Namespaces | |
namespace | di |
namespace | di::concepts |
namespace | di::meta |
Typedefs | |
template<concepts::LanguageFunction Fun> | |
using | di::meta::LanguageFunctionReturn = Type<detail::LanguageFunctionReturnHelper<Fun>> |
template<typename T> | |
using | di::meta::RemoveExtent = Type<detail::RemoveExtentHelper<T>> |
template<typename T> | |
using | di::meta::RemoveAllExtents = Type<detail::RemoveAllExtentsHelper<T>> |
template<concepts::MemberPointer T> | |
using | di::meta::MemberPointerValue = Type<detail::MemberPointerValueHelper<RemoveCV<T>>> |
template<concepts::MemberPointer T> | |
using | di::meta::MemberPointerClass = Type<detail::MemberPointerClassHelper<RemoveCV<T>>> |
template<concepts::Enum T> | |
using | di::meta::UnderlyingType = __underlying_type(T) |
template<typename T> | |
using | di::meta::MakeSigned = detail::MakeSignedHelper<RemoveCV<T>>::Type |
template<typename T> | |
using | di::meta::MakeUnsigned = detail::MakeUnsignedHelper<RemoveCV<T>>::Type |
template<typename T> | |
using | di::meta::AddConst = T const |
template<typename T> | |
using | di::meta::AddVolatile = T volatile |
template<typename T> | |
using | di::meta::AddCV = T const volatile |
template<typename T> | |
using | di::meta::AddLValueReference = Type<detail::AddLValueReferenceHelper<T>> |
template<typename T> | |
using | di::meta::AddRValueReference = Type<detail::AddRValueReferenceHelper<T>> |
template<typename T> | |
using | di::meta::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 | di::meta::Like = Type<detail::LikeHelper<T, U>> |
template<typename T> | |
using | di::meta::RemoveRValueReference = Conditional<concepts::RValueReference<T>, RemoveReference<T>, T> |
template<typename T> | |
using | di::meta::RemovePointer = Type<detail::RemovePointerHelper<T>> |
template<typename T> | |
using | di::meta::RemoveFunctionQualifiers = Type<detail::RemoveFunctionQualifiersHelper<T>> |
template<typename T> | |
using | di::meta::Decay |
Variables | |
template<typename T> | |
constexpr auto | di::meta::ArrayRank = 0ZU |
template<typename T> | |
constexpr auto | di::meta::ArrayRank< T[]> = 1 + ArrayRank<T> |
template<typename T, usize N> | |
constexpr auto | di::meta::ArrayRank< T[N]> = 1 + ArrayRank<T> |
template<typename T, types::size_t level = 0> | |
constexpr auto | di::meta::Extent = 0ZU |
template<typename T, usize level> | |
constexpr auto | di::meta::Extent< T[], level > = Extent<T, level - 1> |
template<typename T, usize size> | |
constexpr auto | di::meta::Extent< T[size], 0 > = size |
template<typename T, usize size, usize level> | |
constexpr auto | di::meta::Extent< T[size], level > = Extent<T, level - 1> |