Tatooine
Classes | Concepts | Typedefs | Functions | Variables
tatooine::reflection Namespace Reference

Classes

struct  get_type_impl
 
struct  is_reflectable_impl
 
struct  reflector
 

Concepts

concept  reflectable
 

Typedefs

template<std::size_t I, typename T >
using get_type = typename get_type_impl< I, T >::type
 

Functions

template<typename T >
constexpr auto num_members () -> std::size_t
 Return number of fields in a reflector struct. More...
 
template<typename T >
constexpr auto num_members (T &&) -> std::size_t
 
template<reflectable T, typename V >
constexpr auto for_each (T &&t, V &&v)
 Iterate over each registered member. More...
 
template<std::size_t idx, reflectable T>
constexpr auto get (T &&t)
 
template<std::size_t idx, reflectable T>
constexpr auto name ()
 
template<std::size_t idx, typename T >
constexpr auto name (T &&) -> decltype(name< idx, T >())
 
template<reflectable T>
constexpr auto name ()
 
template<reflectable T>
constexpr auto name (T &&)
 

Variables

template<typename T >
static constexpr auto is_reflectable = is_reflectable_impl<T>::value
 

Typedef Documentation

◆ get_type

template<std::size_t I, typename T >
using tatooine::reflection::get_type = typedef typename get_type_impl<I, T>::type

Function Documentation

◆ for_each()

template<reflectable T, typename V >
constexpr auto tatooine::reflection::for_each ( T &&  t,
V &&  v 
)
constexpr

Iterate over each registered member.

◆ get()

template<std::size_t idx, reflectable T>
constexpr auto tatooine::reflection::get ( T &&  t)
constexpr

◆ name() [1/4]

template<std::size_t idx, reflectable T>
constexpr auto tatooine::reflection::name ( )
constexpr

◆ name() [2/4]

template<reflectable T>
constexpr auto tatooine::reflection::name ( )
constexpr

◆ name() [3/4]

template<reflectable T>
constexpr auto tatooine::reflection::name ( T &&  )
constexpr

◆ name() [4/4]

template<std::size_t idx, typename T >
constexpr auto tatooine::reflection::name ( T &&  ) -> decltype(name<idx, T>())
constexpr

◆ num_members() [1/2]

template<typename T >
constexpr auto tatooine::reflection::num_members ( ) -> std::size_t
constexpr

Return number of fields in a reflector struct.

◆ num_members() [2/2]

template<typename T >
constexpr auto tatooine::reflection::num_members ( T &&  ) -> std::size_t
constexpr

Variable Documentation

◆ is_reflectable

template<typename T >
constexpr auto tatooine::reflection::is_reflectable = is_reflectable_impl<T>::value
staticconstexpr