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) { }
The class template basic_string_view describes an non-owning reference to a constant contiguous seque...
Definition: string_view.h:49
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
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.
~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.
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.
class_(string_view name)
Construct a class_ object with the given name name.
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::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::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.
bind< detail::enum_, Class_Type, Enum_Type > enumeration(string_view name)
Register a nested enumeration of type Enum_Type.
class_< Class_Type, Visitor_List > & operator()(Args &&...args)
The bracket operator can be used to add additional meta data to the class type.
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 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 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 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_readonly, detail::invalid_type, A, detail::public_access, Visitor_List > property_readonly(string_view name, A acc)
Register a global read only property.
static bind< detail::enum_, detail::invalid_type, Enum_Type > enumeration(string_view name)
Register a global enumeration of type Enum_Type.
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
Signature * select_overload(Signature *func)
This is a helper function to register overloaded functions.
Definition: registration.h:481
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...
@ 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
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,...
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::default_args< TArgs... > default_arguments(TArgs &&...args)
The default_arguments function should be used add default arguments, for constructors or a methods du...
Generated on Tue Jun 25 2024 00:00:00 for rttr - 0.9.7 by doxygen.