Namespace zmbt::reflect¶
Namespace List > zmbt > reflect
Reflection metafunctions.
Classes¶
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¶
typedef initialization¶
typedef interface_t¶
typedef invocation_args_t¶
Interface arguments tuple type.
Template parameters:
T
Interface pointer type
typedef invocation_args_unqf_t¶
Interface cv-unqualified arguments tuple type.
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.
Template parameters:
T
typedef invocation_host_t¶
Interface host object type.
Template parameters:
T
Interface pointer type
typedef invocation_ret_t¶
Interface return type.
Template parameters:
T
Interface pointer type
typedef invocation_unqf_host_t¶
Interface cv-unqualified host object type.
Template parameters:
T
Interface pointer type
typedef invocation_unqf_ret_t¶
Interface cv-unqualified return type.
Template parameters:
T
Interface pointer type
Public Functions Documentation¶
function init_tuple¶
Initialize tuple with default values provided by signal_traits .
function init_value¶
Initialize value of type T with default value provided by signal_traits .
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": ... }.
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