Lightweight concepts.
Definition in file meta_light.hpp.
Go to the source code of this file.
Classes | |
struct | meta::NotDetected |
Typedefs | |
template<template< typename... > typename Trait, typename... Args> | |
using | meta::DetectedType = typename impl::Detector<NotDetected, void, Trait, Args...>::type |
Produces the result type of a trait, or utils::meta::NotDetected if it's incorrect for the given template args. | |
template<typename Default , template< typename... > typename Trait, typename... Args> | |
using | meta::DetectedOr = typename impl::Detector<Default, void, Trait, Args...>::type |
Produces the result type of a trait, or Default if it's incorrect for the given template args. | |
template<typename T , typename U > | |
using | meta::ExpectSame = std::enable_if_t<std::is_same_v<T, U>> |
Helps in definitions of traits for utils::meta::kIsDetected. | |
Variables | |
template<template< typename... > typename Template, typename T > | |
constexpr bool | meta::kIsInstantiationOf = impl::IsInstantiationOf<Template, T>::value |
Returns true if the type if an instantiation of the specified template. | |
template<typename T > | |
constexpr bool | meta::kIsCharacter |
template<typename T > | |
constexpr bool | meta::kIsInteger = std::is_integral_v<T> && !kIsCharacter<T> && !std::is_same_v<T, bool> |
using meta::DetectedOr = typename impl::Detector<Default, void, Trait, Args...>::type |
Produces the result type of a trait, or Default if it's incorrect for the given template args.
Definition at line 78 of file meta_light.hpp.
using meta::DetectedType = typename impl::Detector<NotDetected, void, Trait, Args...>::type |
Produces the result type of a trait, or utils::meta::NotDetected if it's incorrect for the given template args.
Definition at line 72 of file meta_light.hpp.
using meta::ExpectSame = std::enable_if_t<std::is_same_v<T, U>> |
Helps in definitions of traits for utils::meta::kIsDetected.
Definition at line 82 of file meta_light.hpp.
|
inlineconstexpr |
Returns true
if the type is a fundamental character type. signed char
and unsigned char
are not character types.
Definition at line 91 of file meta_light.hpp.
|
inlineconstexpr |
Returns true
if the type if an instantiation of the specified template.
Definition at line 86 of file meta_light.hpp.
|
inlineconstexpr |
Returns true
if the type is a true integer type (not *char*
or bool
) signed char
and unsigned char
are integer types
Definition at line 97 of file meta_light.hpp.