Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
bbm::reflection Namespace Reference

Classes

struct  bbm_enum
 
struct  prefix
 Wrapper for adding a prefix to the attribute names of a base type. More...
 

Typedefs

template<typename T >
using attributes_t = typename bbm::reflection::detail::attributes_impl< T >::type
 

Functions

template<typename T >
constexpr decltype(auto) attributes (T &&t)
 

Variables

template<typename T >
static constexpr size_t attributes_size = std::tuple_size< attributes_t<T> >::value
 
template<typename T >
static constexpr auto enum_v = bbm_enum<std::decay_t<T>>::values()
 Querry the names and values of an enum.
 

BaseTypes reflection methods

template<typename C >
using basetypes_t = typename bbm::reflection::detail::basetypes_impl< C >::type
 
template<typename C >
static constexpr size_t basetypes_size = std::tuple_size< basetypes_t<C> >::value
 

Class Documentation

◆ bbm::reflection::bbm_enum

struct bbm::reflection::bbm_enum
template<typename T>
struct bbm::reflection::bbm_enum< T >

◆ bbm::reflection::prefix

struct bbm::reflection::prefix
template<string_literal N, typename C>
struct bbm::reflection::prefix< N, C >

Wrapper for adding a prefix to the attribute names of a base type.

Typedef Documentation

◆ attributes_t

using attributes_t = typename bbm::reflection::detail::attributes_impl<T>::type

◆ basetypes_t

using basetypes_t = typename bbm::reflection::detail::basetypes_impl<C>::type

Function Documentation

◆ attributes()

constexpr decltype(auto) attributes ( T &&  t)
inlineconstexpr

Variable Documentation

◆ attributes_size

constexpr size_t attributes_size = std::tuple_size< attributes_t<T> >::value
staticconstexpr

◆ basetypes_size

constexpr size_t basetypes_size = std::tuple_size< basetypes_t<C> >::value
staticconstexpr

◆ enum_v

constexpr auto enum_v = bbm_enum<std::decay_t<T>>::values()
staticconstexpr

Querry the names and values of an enum.