repr 0.1
Reconstructable string representations and more
|
#include <aggregate.h>
Public Types | |
using | member_tuple = decltype(librepr::detail::to_reftuple(std::declval< T >())) |
using | member_types = typename pack::rebox< member_tuple, TypeList >::template map< std::remove_reference_t > |
using | type = T |
using | members = typename member_types::template map< librepr::Reflect > |
using | type = T |
using | type = T |
using | element_type = typename T::value_type |
using | type = T |
using | first_type = typename T::first_type |
using | second_type = typename T::second_type |
using | members = typename TypeList< first_type, second_type >::template map< librepr::Reflect > |
using | type = T |
using | alternatives = typename detail::VariantDetector< T >::alternatives |
Static Public Member Functions | |
template<typename V > | |
static void | visit (V &&visitor, T &obj) |
template<typename V > | |
static void | visit (V &&visitor) |
template<typename V > | |
static void | visit (V &&visitor, T &obj) |
template<typename V > | |
static void | visit (V &&visitor, T &obj) |
template<typename V > | |
static void | visit (V &&visitor) |
template<typename V > | |
static void | visit (V &&visitor, T &obj) |
template<typename V > | |
static void | visit (V &&visitor) |
template<typename V > | |
static void | visit (V &&visitor, type &obj) |
template<typename V > | |
static void | visit (V &&visitor) |
static auto | type_name () |
Static Public Attributes | |
static constexpr auto | member_count = librepr::detail::arity<T> |
static constexpr bool | can_descend = true |
static constexpr auto | enumerator_names = librepr::enum_names<T>() |
static constexpr bool | iterable = true |
static constexpr bool | associative |
static constexpr bool | tuple_like = true |
using librepr::Reflect< T >::alternatives = typename detail::VariantDetector<T>::alternatives |
using librepr::Reflect< T >::element_type = typename T::value_type |
using librepr::Reflect< T >::first_type = typename T::first_type |
using librepr::Reflect< T >::member_tuple = decltype(librepr::detail::to_reftuple(std::declval<T>())) |
using librepr::Reflect< T >::member_types = typename pack::rebox<member_tuple, TypeList>::template map<std::remove_reference_t> |
using librepr::Reflect< T >::members = typename member_types::template map<librepr::Reflect> |
using librepr::Reflect< T >::members = typename TypeList<first_type, second_type>::template map<librepr::Reflect> |
using librepr::Reflect< T >::second_type = typename T::second_type |
using librepr::Reflect< T >::type = T |
using librepr::Reflect< T >::type = T |
using librepr::Reflect< T >::type = T |
using librepr::Reflect< T >::type = T |
using librepr::Reflect< T >::type = T |
|
inlinestaticinherited |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |