Iros
 
Loading...
Searching...
No Matches
di::reflection::detail::ReflectFunction Struct Reference

#include <di/reflect/reflect.h>

Public Member Functions

template<typename T, typename U = meta::RemoveCVRef<T>>
requires (concepts::TagInvocable<ReflectFunction, InPlaceType<U>>)
constexpr auto operator() (InPlaceType< T >) const -> decltype(auto)
 
template<typename T, typename U = meta::RemoveCVRef<T>>
requires (!concepts::TagInvocable<ReflectFunction, InPlaceType<U>> && (concepts::SameAs<U, bool> || concepts::Integer<U> || concepts::detail::ConstantString<U> || concepts::Container<U>) )
constexpr auto operator() (InPlaceType< T >) const -> decltype(auto)
 
template<typename T, typename U = meta::RemoveCVRef<T>>
requires (!concepts::InstanceOf<U, InPlaceType> && requires { (util::declval<ReflectFunction const&>())(in_place_type<U>); })
constexpr auto operator() (T &&) const -> decltype(auto)
 

Member Function Documentation

◆ operator()() [1/3]

template<typename T, typename U = meta::RemoveCVRef<T>>
requires (concepts::TagInvocable<ReflectFunction, InPlaceType<U>>)
auto di::reflection::detail::ReflectFunction::operator() ( InPlaceType< T > ) const -> decltype(auto)
inlineconstexpr

◆ operator()() [2/3]

template<typename T, typename U = meta::RemoveCVRef<T>>
requires (!concepts::TagInvocable<ReflectFunction, InPlaceType<U>> && (concepts::SameAs<U, bool> || concepts::Integer<U> || concepts::detail::ConstantString<U> || concepts::Container<U>) )
auto di::reflection::detail::ReflectFunction::operator() ( InPlaceType< T > ) const -> decltype(auto)
inlineconstexpr

◆ operator()() [3/3]

template<typename T, typename U = meta::RemoveCVRef<T>>
requires (!concepts::InstanceOf<U, InPlaceType> && requires { (util::declval<ReflectFunction const&>())(in_place_type<U>); })
auto di::reflection::detail::ReflectFunction::operator() ( T && ) const -> decltype(auto)
inlineconstexpr

The documentation for this struct was generated from the following file: