|
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 |