Skip to content

Namespace zmbt::reflect

Namespace List > zmbt > reflect

Reflection metafunctions.

Classes

Type Name
struct custom_invocation <class T, class E>
Customize the interface reflection metafunction.
struct custom_serialization <class T, class>
User-defined serialization.
struct custom_serialization< T, mp_if< is_base_of< Expression, T >, void > > <class T>
struct custom_signal_traits <class T, class E>
Customize signal traits metafunction.
struct default_invocation <class S, class E>
Interface reflection metafunction.
struct default_invocation< S, first_if_any_t< void, ifc_is_fn_handle< S >, ifc_is_functor_ref< S > > > <class S>
struct default_invocation< S, first_if_t< void, ifc_is_functor_ptr< S > > > <class S>
struct default_invocation< S, first_if_t< void, ifc_is_member_handle< S > > > <class S>
struct has_invocation_for <class T, class E>
Trait check for reflect::invocation<T>
struct invocation <class T, class E>
Interface reflection metafunction.
struct invocation< S, detail::enable_custom_invocation< S > > <class S>
struct invocation< S, detail::enable_default_invocation< S > > <class S>
struct serialization <class T, class>
Serialization metafunction.
struct serialization< T, detail::enable_for_custom_serialization< T > > <class T>
struct serialization< T, detail::enable_for_default_serialization< T > > <class T>
struct signal_traits <class T, class E>
Signal traits metafunction, providing default values.
struct signal_traits< T, detail::enable_custom_signal_traits< T > > <class T>
struct signal_traits< T, detail::enable_default_signal_traits< T > > <class T>
struct signal_traits< T, detail::enable_initialization_trap< T > > <class T>
Unhandled types catcher.
struct signal_traits< void > <>

Public Types

Type Name
typedef custom_signal_traits< T, E > custom_initialization
typedef signal_traits< T, E > initialization
typedef typename reflect::invocation< I >::type interface_t
typedef typename invocation< T >::args_t invocation_args_t
Interface arguments tuple type.
typedef tuple_unqf_t< invocation_args_t< T > > invocation_args_unqf_t
Interface cv-unqualified arguments tuple type.
typedef std::integral_constant< bool, 0==boost::mp11::mp_size< invocation_args_t< T > >::value > invocation_has_void_args
Interface has no args.
typedef std::is_void< invocation_ret_t< T > > invocation_has_void_ret
Interface has no return.
typedef typename invocation< T >::host_t invocation_host_t
Interface host object type.
typedef typename invocation< T >::return_t invocation_ret_t
Interface return type.
typedef remove_cvref_t< invocation_host_t< T > > invocation_unqf_host_t
Interface cv-unqualified host object type.
typedef remove_cvref_t< invocation_ret_t< T > > invocation_unqf_ret_t
Interface cv-unqualified return type.

Public Functions

Type Name
constexpr T init_tuple ()
Initialize tuple with default values provided by signal_traits .
constexpr T init_value ()
Initialize value of type T with default value provided by signal_traits .
detail::enable_hermetic_serialization< T, std::ostream & > operator<< (std::ostream & os, T const & value)
ADL injection wrapper enabling operator<<.
boost::json::object prototypes ()
Interface prototypes in JSON as {"args": [...], "return": ... }.
detail::enable_hermetic_serialization< T, void > tag_invoke (boost::json::value_from_tag const &, boost::json::value & v, T const & t)
ADL injection wrapper enabling boost::json::value_from<T> conversion.
detail::enable_hermetic_serialization< T, T > tag_invoke (boost::json::value_to_tag< T > const &, boost::json::value const & v)
ADL injection wrapper enabling boost::json::value_from<T> conversion.

Public Types Documentation

typedef custom_initialization

using zmbt::reflect::custom_initialization = typedef custom_signal_traits<T, E>;

typedef initialization

using zmbt::reflect::initialization = typedef signal_traits<T, E>;

typedef interface_t

using zmbt::reflect::interface_t = typedef typename reflect::invocation<I>::type;

typedef invocation_args_t

Interface arguments tuple type.

using zmbt::reflect::invocation_args_t = typedef typename invocation<T>::args_t;

Template parameters:

  • T Interface pointer type

typedef invocation_args_unqf_t

Interface cv-unqualified arguments tuple type.

using zmbt::reflect::invocation_args_unqf_t = typedef tuple_unqf_t<invocation_args_t<T> >;

Template parameters:

  • T Interface pointer type

typedef invocation_has_void_args

Interface has no args.

using zmbt::reflect::invocation_has_void_args = typedef std::integral_constant<bool, 0 == boost::mp11::mp_size<invocation_args_t<T> >::value >;

Template parameters:

  • T

typedef invocation_has_void_ret

Interface has no return.

using zmbt::reflect::invocation_has_void_ret = typedef std::is_void<invocation_ret_t<T> >;

Template parameters:

  • T

typedef invocation_host_t

Interface host object type.

using zmbt::reflect::invocation_host_t = typedef typename invocation<T>::host_t;

Template parameters:

  • T Interface pointer type

typedef invocation_ret_t

Interface return type.

using zmbt::reflect::invocation_ret_t = typedef typename invocation<T>::return_t;

Template parameters:

  • T Interface pointer type

typedef invocation_unqf_host_t

Interface cv-unqualified host object type.

using zmbt::reflect::invocation_unqf_host_t = typedef remove_cvref_t<invocation_host_t<T> >;

Template parameters:

  • T Interface pointer type

typedef invocation_unqf_ret_t

Interface cv-unqualified return type.

using zmbt::reflect::invocation_unqf_ret_t = typedef remove_cvref_t<invocation_ret_t<T> >;

Template parameters:

  • T Interface pointer type

Public Functions Documentation

function init_tuple

Initialize tuple with default values provided by signal_traits .

template<class T>
constexpr T zmbt::reflect::init_tuple () 


function init_value

Initialize value of type T with default value provided by signal_traits .

template<class T>
constexpr T zmbt::reflect::init_value () 


function operator<<

ADL injection wrapper enabling operator<<.

template<class T>
detail::enable_hermetic_serialization< T, std::ostream & > zmbt::reflect::operator<< (
    std::ostream & os,
    T const & value
) 


function prototypes

Interface prototypes in JSON as {"args": [...], "return": ... }.

template<class T>
boost::json::object zmbt::reflect::prototypes () 


function tag_invoke

ADL injection wrapper enabling boost::json::value_from<T> conversion.

template<class T>
detail::enable_hermetic_serialization< T, void > zmbt::reflect::tag_invoke (
    boost::json::value_from_tag const &,
    boost::json::value & v,
    T const & t
) 


function tag_invoke

ADL injection wrapper enabling boost::json::value_from<T> conversion.

template<class T>
detail::enable_hermetic_serialization< T, T > zmbt::reflect::tag_invoke (
    boost::json::value_to_tag< T > const &,
    boost::json::value const & v
) 



The documentation for this class was generated from the following file zmbt-framework/zmbt-framework/backends/cxx/include/zmbt/decor/precise_real.hpp