NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
magic_enum_switch.hpp File Reference
#include "magic_enum.hpp"
Include dependency graph for magic_enum_switch.hpp:

Classes

struct  magic_enum::detail::default_result_type
 
struct  magic_enum::detail::identity< T >
 
struct  magic_enum::detail::nonesuch
 
struct  magic_enum::detail::invoke_result< F, V, bool >
 
struct  magic_enum::detail::invoke_result< F, V, true >
 
struct  std::common_type< magic_enum::detail::nonesuch, magic_enum::detail::nonesuch >
 
struct  std::common_type< T, magic_enum::detail::nonesuch >
 
struct  std::common_type< magic_enum::detail::nonesuch, T >
 

Namespaces

 magic_enum
 
 magic_enum::detail
 

Typedefs

template<typename F , typename V >
using magic_enum::detail::invoke_result_t = typename invoke_result< F, V >::type
 
template<typename T , typename Result , typename F , typename D = std::decay_t<T>, typename R = typename decltype(result_type<D, Result, F>())::type>
using magic_enum::detail::result_t = std::enable_if_t< std::is_enum_v< D > &&!std::is_same_v< R, nonesuch >, R >
 

Functions

template<typename E , typename F , std::size_t... I>
constexpr auto magic_enum::detail::common_invocable (std::index_sequence< I... >) noexcept
 
template<typename E , typename Result , typename F >
constexpr auto magic_enum::detail::result_type () noexcept
 
template<typename R , typename F , typename... Args>
constexpr R magic_enum::detail::invoke_r (F &&f, Args &&... args) noexcept(std::is_nothrow_invocable_r_v< R, F, Args... >)
 
template<std::size_t I, std::size_t End, typename R , typename E , typename F , typename Def >
constexpr decltype(auto) magic_enum::detail::constexpr_switch_impl (F &&f, E value, Def &&def)
 
template<typename R , typename E , typename F , typename Def >
constexpr decltype(auto) magic_enum::detail::constexpr_switch (F &&f, E value, Def &&def)
 
template<typename Result = detail::default_result_type, typename E , typename F , typename R = detail::result_t<E, Result, F>>
constexpr decltype(auto) magic_enum::enum_switch (F &&f, E value)
 
template<typename Result , typename E , typename F , typename R = detail::result_t<E, Result, F>>
constexpr decltype(auto) magic_enum::enum_switch (F &&f, E value, Result &&result)
 

Variables

template<typename T = void>
constexpr auto magic_enum::detail::default_result_type_lambda
 
template<>
constexpr auto magic_enum::detail::default_result_type_lambda< void >