|
template<typename T > |
using | refl::trait::remove_qualifiers_t = typename remove_qualifiers< T >::type |
|
template<size_t N, typename TypeList > |
using | refl::trait::get_t = typename get< N, TypeList >::type |
|
template<size_t N, typename TypeList > |
using | refl::trait::skip = detail::skip< N, TypeList > |
|
template<size_t N, typename TypeList > |
using | refl::trait::skip_t = typename skip< N, TypeList >::type |
|
template<typename T > |
using | refl::trait::as_type_list_t = typename as_type_list< T >::type |
|
template<typename TypeList > |
using | refl::trait::first = get< 0, TypeList > |
|
template<typename TypeList > |
using | refl::trait::first_t = typename first< TypeList >::type |
|
template<typename TypeList > |
using | refl::trait::last = get< TypeList::size - 1, TypeList > |
|
template<typename TypeList > |
using | refl::trait::last_t = typename last< TypeList >::type |
|
template<typename TypeList > |
using | refl::trait::tail = skip< 1, TypeList > |
|
template<typename TypeList > |
using | refl::trait::tail_t = typename tail< TypeList >::type |
|
template<size_t N, typename TypeList > |
using | refl::trait::take = detail::take< type_list<>, N, TypeList > |
|
template<size_t N, typename TypeList > |
using | refl::trait::take_t = typename take< N, TypeList >::type |
|
template<typename TypeList > |
using | refl::trait::init = take< TypeList::size - 1, TypeList > |
|
template<typename TypeList > |
using | refl::trait::init_t = typename init< TypeList >::type |
|
template<typename TypeList > |
using | refl::trait::reverse_t = typename reverse< TypeList >::type |
|
template<typename Lhs , typename Rhs > |
using | refl::trait::concat_t = typename concat< Lhs, Rhs >::type |
|
template<typename T , typename TypeList > |
using | refl::trait::append_t = typename append< T, TypeList >::type |
|
template<typename T , typename TypeList > |
using | refl::trait::prepend_t = typename prepend< T, TypeList >::type |
|
template<template< typename > typename Predicate, typename TypeList > |
using | refl::trait::filter_t = typename filter< Predicate, TypeList >::type |
|
template<template< typename > typename Mapper, typename... Ts> |
using | refl::trait::map_t = typename map< Mapper, Ts... >::type |
|
template<typename T > |
using | refl::descriptor::member_list = decltype(detail::enumerate_members< T >(std::make_index_sequence< refl_impl::metadata::type_info__< T >::member_count >{})) |
|
|
constexpr const_string< 0 > | refl::util::make_const_string () noexcept |
|
template<size_t N> |
constexpr const_string< N - 1 > | refl::util::make_const_string (const char(&str)[N]) noexcept |
|
template<size_t N, size_t M> |
constexpr const_string< N+M > | refl::util::operator+ (const const_string< N > &a, const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr const_string< N+M - 1 > | refl::util::operator+ (const const_string< N > &a, const char(&b)[M]) noexcept |
|
template<size_t N, size_t M> |
constexpr const_string< N+M - 1 > | refl::util::operator+ (const char(&a)[N], const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator== (const const_string< N > &a, const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator!= (const const_string< N > &a, const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator== (const const_string< N > &a, const char(&b)[M]) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator!= (const const_string< N > &a, const char(&b)[M]) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator== (const char(&a)[N], const const_string< M > &b) noexcept |
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator!= (const char(&a)[N], const const_string< M > &b) noexcept |
|
template<size_t N> |
constexpr std::ostream & | refl::util::operator<< (std::ostream &os, const const_string< N > &str) noexcept |
|
template<typename T > |
constexpr bool | refl::is_reflectable () noexcept |
|
template<typename T > |
constexpr bool | refl::is_reflectable (const T &) noexcept |
|
template<typename T > |
constexpr type_descriptor< T > | refl::reflect () noexcept |
|
template<typename T > |
constexpr type_descriptor< T > | refl::reflect (const T &) noexcept |
|
template<typename T = int, typename... Ts> |
constexpr int | refl::util::ignore (Ts &&...) noexcept |
|
template<typename T > |
constexpr decltype(auto) | refl::util::identity (T &&t) noexcept |
|
template<typename T > |
constexpr const T & | refl::util::make_const (const T &value) noexcept |
|
template<typename T > |
constexpr const T & | refl::util::make_const (T &value) noexcept |
|
template<typename T , typename... Ts> |
constexpr std::array< T, sizeof...(Ts)> | refl::util::to_array (const std::tuple< Ts... > &tuple) noexcept |
|
template<typename T > |
constexpr std::array< T, 0 > | refl::util::to_array (const std::tuple<> &) noexcept |
|
template<typename T , size_t N> |
constexpr auto | refl::util::to_tuple (const std::array< T, N > &array) noexcept |
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::map_to_tuple (type_list< Ts... > list, F &&f) |
|
template<typename T , typename F , typename... Ts> |
constexpr auto | refl::util::map_to_array (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr void | refl::util::for_each (type_list< Ts... > list, F &&f) |
|
template<typename R , typename F , typename... Ts> |
constexpr R | refl::util::accumulate (type_list<>, F &&, R &&initial_value) |
|
template<typename R , typename F , typename T , typename... Ts> |
constexpr auto | refl::util::accumulate (type_list< T, Ts... >, F &&f, R &&initial_value) |
|
template<typename F , typename... Ts> |
constexpr size_t | refl::util::count_if (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::filter (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::find_first (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::find_one (type_list< Ts... > list, F &&f) |
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::contains (type_list< Ts... > list, F &&f) |
|
template<typename... Ts, typename F > |
constexpr auto | refl::util::apply (type_list< Ts... >, F &&f) |
|
template<size_t N, typename... Ts> |
constexpr auto & | refl::util::get (std::tuple< Ts... > &ts) noexcept |
|
template<size_t N, typename... Ts> |
constexpr const auto & | refl::util::get (const std::tuple< Ts... > &ts) noexcept |
|
template<typename T , typename... Ts> |
constexpr T & | refl::util::get (std::tuple< Ts... > &ts) noexcept |
|
template<typename T , typename... Ts> |
constexpr const T & | refl::util::get (const std::tuple< Ts... > &ts) noexcept |
|
template<template< typename... > typename T, typename... Ts> |
constexpr auto & | refl::util::get_instance (std::tuple< Ts... > &ts) noexcept |
|
template<template< typename... > typename T, typename... Ts> |
constexpr const auto & | refl::util::get_instance (const std::tuple< Ts... > &ts) noexcept |
|
template<typename T > |
constexpr bool | refl::descriptor::is_field (const T) noexcept |
|
template<typename T > |
constexpr bool | refl::descriptor::is_function (const T) noexcept |
|
template<typename T > |
constexpr bool | refl::descriptor::is_type (const T) noexcept |
|
template<typename A , typename T > |
constexpr bool | refl::descriptor::has_attribute (const T) noexcept |
|
template<typename A , typename T > |
constexpr const A & | refl::descriptor::get_attribute (const T t) noexcept |
|
template<template< typename... > typename A, typename T > |
constexpr const auto & | refl::descriptor::get_attribute (const T t) noexcept |
|
template<typename T > |
constexpr bool | refl::descriptor::is_property (const T t) noexcept |
|
template<typename T > |
constexpr attr::property | refl::descriptor::get_property (const T t) noexcept |
|
template<typename T > |
constexpr bool | refl::descriptor::is_readable (const T) noexcept |
|
template<typename T > |
constexpr bool | refl::descriptor::is_writable (const T) noexcept |
|
template<typename T > |
constexpr auto | refl::descriptor::has_bases (const T t) noexcept |
|
template<typename T > |
constexpr auto | refl::descriptor::get_bases (const T t) noexcept |
|
template<typename T > |
const char * | refl::descriptor::get_debug_name (const T &t) |
|
template<typename T > |
const char * | refl::descriptor::get_display_name (const T &t) noexcept |
|
template<typename T > |
void | refl::runtime::debug (std::ostream &os, const T &value, bool compact=false) |
|
template<typename T > |
void | refl::runtime::debug (std::ostream &os, const T &value, [[maybe_unused]] bool compact) |
|
template<typename... Ts> |
void | refl::runtime::debug_all (std::ostream &os, const Ts &... values) |
|
template<typename T > |
std::string | refl::runtime::debug_str (const T &value, bool compact=false) |
|
template<typename... Ts> |
std::string | refl::runtime::debug_all_str (const Ts &... values) |
|
template<typename U , typename T , typename... Args> |
U | refl::runtime::invoke (T &&target, const char *name, Args &&... args) |
|