registration.h
Go to the documentation of this file.
162 template<typename... Args, typename acc_level = detail::public_access, typename Tp = typename std::enable_if<detail::contains<acc_level, detail::access_levels_list>::value>::type>
163 bind<detail::ctor, Class_Type, acc_level, Visitor_List, Args...> constructor(acc_level level = acc_level());
177 template<typename F, typename acc_level = detail::public_access, typename Tp = typename std::enable_if<!detail::contains<F, detail::access_levels_list>::value>::type>
178 bind<detail::ctor_func, Class_Type, F, acc_level, Visitor_List> constructor(F func, acc_level level = acc_level());
195 template<typename A, typename acc_level = detail::public_access, typename Tp = typename std::enable_if<detail::contains<acc_level, detail::access_levels_list>::value>::type>
196 bind<detail::prop, Class_Type, A, acc_level, Visitor_List> property(string_view name, A acc, acc_level level = acc_level());
213 template<typename A, typename acc_level = detail::public_access, typename Tp = typename std::enable_if<detail::contains<acc_level, detail::access_levels_list>::value>::type>
214 bind<detail::prop_readonly, Class_Type, A, acc_level, Visitor_List> property_readonly(string_view name, A acc, acc_level level = acc_level());
233 template<typename A1, typename A2, typename acc_level = detail::public_access, typename Tp = typename std::enable_if<!detail::contains<A2, detail::access_levels_list>::value>::type>
234 bind<detail::prop, Class_Type, A1, A2, acc_level, Visitor_List> property(string_view name, A1 getter, A2 setter, acc_level level = acc_level());
291 static bind<detail::prop, detail::invalid_type, A, detail::public_access, Visitor_List> property(string_view name, A acc);
309 static bind<detail::prop_readonly, detail::invalid_type, A, detail::public_access, Visitor_List> property_readonly(string_view name, A acc);
327 static bind<detail::prop, detail::invalid_type, A1, A2, detail::public_access, Visitor_List> property(string_view name, A1 getter, A2 setter);
343 static bind<detail::meth, detail::invalid_type, F, detail::public_access, Visitor_List> method(string_view name, F f);
438 registration(const std::shared_ptr<detail::registration_executer>& reg_exec) : m_reg_exec(reg_exec) { }
The array_range class provides a view into an underlying data structure with lower and upper limits.
Definition array_range.h:64
The bind class is used to chain registration calls.
Definition registration.h:808
base_class operator()(Args &&... arg)
The bracket operator can be used to add additional meta data or policies.
The class_ is used to register classes to RTTR.
Definition registration.h:130
class_< Class_Type, Visitor_List > & operator()(Args &&...args)
The bracket operator can be used to add additional meta data to the class type.
bind< detail::meth, Class_Type, F, acc_level, Visitor_List > method(string_view name, F f, acc_level level=acc_level())
Register a method to this class.
~class_()
class_(string_view name)
Construct a class_ object with the given name name.
bind< detail::ctor_func, Class_Type, F, acc_level, Visitor_List > constructor(F func, acc_level level=acc_level())
Register a constructor for this class type which uses a function F.
bind< detail::prop_readonly, Class_Type, A, acc_level, Visitor_List > property_readonly(string_view name, A acc, acc_level level=acc_level())
Register a read only property to this class.
bind< detail::enum_, Class_Type, Enum_Type > enumeration(string_view name)
Register a nested enumeration of type Enum_Type.
bind< detail::ctor, Class_Type, acc_level, Visitor_List, Args... > constructor(acc_level level=acc_level())
Register a constructor for this class type with or without arguments.
bind< detail::prop, Class_Type, A1, A2, acc_level, Visitor_List > property(string_view name, A1 getter, A2 setter, acc_level level=acc_level())
Register a property to this class.
bind< detail::prop, Class_Type, A, acc_level, Visitor_List > property(string_view name, A acc, acc_level level=acc_level())
Register a property to this class.
The registration class is the entry point for the manual registration of reflection information to th...
Definition registration.h:120
static const detail::public_access public_access
This variable can be used to specify during registration of a class member the access level: public.
Definition registration.h:382
static const detail::protected_access protected_access
This variable can be used to specify during registration of a class member the access level: protecte...
Definition registration.h:408
static bind< detail::enum_, detail::invalid_type, Enum_Type > enumeration(string_view name)
Register a global enumeration of type Enum_Type.
static bind< detail::prop_readonly, detail::invalid_type, A, detail::public_access, Visitor_List > property_readonly(string_view name, A acc)
Register a global read only property.
static const detail::private_access private_access
This variable can be used to specify during registration of a class member the access level: private.
Definition registration.h:434
static bind< detail::prop, detail::invalid_type, A, detail::public_access, Visitor_List > property(string_view name, A acc)
Register a global property with read write access.
static bind< detail::prop, detail::invalid_type, A1, A2, detail::public_access, Visitor_List > property(string_view name, A1 getter, A2 setter)
Register a property to this class.
static bind< detail::meth, detail::invalid_type, F, detail::public_access, Visitor_List > method(string_view name, F f)
Register a method to this class.
The variant class allows to store data of any type and convert between these types transparently.
Definition variant.h:199
Definition access_levels.h:34
detail::default_args< TArgs... > default_arguments(TArgs &&...args)
The default_arguments function should be used add default arguments, for constructors or a methods du...
detail::metadata metadata(variant key, variant value)
The metadata function can be used to add additional meta data information during the registration pro...
detail::enum_data< Enum_Type > value(string_view, Enum_Type value)
The value function should be used to add a mapping from enum name to value during the registration pr...
Signature * select_overload(Signature *func)
This is a helper function to register overloaded functions.
Definition registration.h:481
@ protected_access
Declares that this member was registered with protected access.
@ public_access
Declares that this member was registered with public access.
@ private_access
Declares that this member was registered with private access.
auto select_const(ReturnType(ClassType::*func)(Args...) const) -> decltype(func)
This is a helper function to register overloaded const member functions.
Definition registration.h:567
auto select_non_const(ReturnType(ClassType::*func)(Args...)) -> decltype(func)
This is a helper function to register overloaded const member functions.
Definition registration.h:622
detail::parameter_names< detail::decay_t< TArgs >... > parameter_names(TArgs &&...args)
The parameter_names function should be used add human-readable names of the parameters,...
Generated on Fri Jan 26 2024 00:00:00 for rttr - 0.9.7 by doxygen.