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());
252 bind<detail::meth, Class_Type, F, acc_level, Visitor_List> method(string_view name, F f, 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) { }
Definition: access_levels.h:33
Declares that this member was registered with protected access.
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
The type class holds the type information for any arbitrary object.
Definition: type.h:177
base_class operator()(Args &&...arg)
The bracket operator can be used to add additional meta data or policies.
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
detail::default_args< TArgs... > default_arguments(TArgs &&...args)
The default_arguments function should be used add default arguments, for constructors or a methods du...
The class_ is used to register classes to RTTR.
Definition: registration.h:129
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...
The enumeration class provides several meta information about an enum.
Definition: enumeration.h:112
The method class provides several meta information about a method and can be invoked.
Definition: method.h:121
The class template basic_string_view describes an non-owning reference to a constant contiguous seque...
Definition: string_view.h:48
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
Signature * select_overload(Signature *func)
This is a helper function to register overloaded functions.
Definition: registration.h:481
Declares that this member was registered with private access.
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
The registration class is the entry point for the manual registration of reflection information to th...
Definition: registration.h:119
The property class provides several meta information about a property and gives read/write access to ...
Definition: property.h:117
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
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, for constructors or a methods during the registration process of reflection information.
detail::metadata metadata(variant key, variant value)
The metadata function can be used to add additional meta data information during the registration pro...
The bind class is used to chain registration calls.
Definition: registration.h:123
The constructor class provides several meta information about a constructor and can be invoked...
Definition: constructor.h:89
Declares that this member was registered with public access.
basic_string_view< char > string_view
A class to hold a reference to a continuous sequence of char objects.
Definition: string_view.h:493