userver: userver/utils/meta_light.hpp File Reference
Loading...
Searching...
No Matches
meta_light.hpp File Reference

Detailed Description

Lightweight concepts.

See also
userver/utils/meta.hpp for more concepts

Definition in file meta_light.hpp.

Go to the source code of this file.

#include <type_traits>
#include <userver/utils/void_t.hpp>
+ This graph shows which files directly or indirectly include 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::IsDetected.
 

Typedef Documentation

◆ DetectedOr

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.

See also
utils::meta::IsDetected

Definition at line 71 of file meta_light.hpp.

◆ DetectedType

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.

See also
utils::meta::IsDetected

Definition at line 65 of file meta_light.hpp.

◆ ExpectSame

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::IsDetected.

Definition at line 75 of file meta_light.hpp.