8template <
class T,
class S>
13template <
class T,
class S>
18template <
class T,
class S>
22#define PARAMS_TABLE(type_, ...) \
24 struct attribute_table<type_, S> { \
26 inline static const attribute_table_t<type, S> table{__VA_ARGS__}; \
31#define PARAMS_MEMBER(name) \
32 { #name, &type::name }
36template <
class T,
class S>
41template <
class T,
class S>
45#define PARAMS_ALIAS_TABLE(type_, ...) \
47 struct attribute_alias_table<type_, S> { \
49 inline static const attribute_alias_table_t<type, S> table{ \
55#define PARAMS_MEMBER_ALIAS(alias, name) \
std::map< std::string_view, attribute_accessor< T, S > > attribute_table_t
Dictionary that maps struct attribute names to type-erased functions that set those attributes.
std::map< std::string_view, std::string_view > attribute_alias_table_t
Dictionary that maps struct attribute names to type-erased functions that set those attributes.
Function wrapper to set attributes of a struct, type-erasing the type of the attribute.
Specialize this type to define the alternative attribute name to attribute setters dictionaries for a...
Specialize this type to define the attribute name to attribute setters dictionaries for a struct type...