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>
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> 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> 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> property_readonly(string_view name, A acc, acc_level level = acc_level());
233 template<typename A1, typename A2, typename Tp = typename std::enable_if<!detail::contains<A2, detail::access_levels_list>::value>::type, typename acc_level = detail::public_access>
234 bind<detail::prop, Class_Type, A1, A2, acc_level> property(string_view name, A1 getter, A2 setter, acc_level level = acc_level());
252 bind<detail::meth, Class_Type, F, acc_level> method(string_view name, F f, acc_level level = acc_level());
291 static bind<detail::prop, detail::invalid_type, A, detail::public_access> property(string_view name, A acc);
309 static bind<detail::prop_readonly, detail::invalid_type, A, detail::public_access> property_readonly(string_view name, A acc);
327 static bind<detail::prop, detail::invalid_type, A1, A2, detail::public_access> property(string_view name, A1 getter, A2 setter);
343 static bind<detail::meth, detail::invalid_type, F, detail::public_access> method(string_view name, F f);
438 registration(const std::shared_ptr<detail::registration_executer>& reg_exec) : m_reg_exec(reg_exec) { }
static bind< detail::prop_readonly, detail::invalid_type, A, detail::public_access > property_readonly(string_view name, A acc)
Register a global read only property.
@ public_access
Declares that this member was registered with public access.
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,...
bind< detail::prop, Class_Type, A, acc_level > property(string_view name, A acc, acc_level level=acc_level())
Register a property to this class.
bind< detail::ctor_func, Class_Type, F, acc_level > constructor(F func, acc_level level=acc_level())
Register a constructor for this class type which uses a function F.
The registration class is the entry point for the manual registration of reflection information to th...
Definition: registration.h:120
bind< detail::ctor, Class_Type, acc_level, Args... > constructor(acc_level level=acc_level())
Register a constructor for this class type with or without arguments.
class_< Class_Type > & operator()(Args &&...args)
The bracket operator can be used to add additional meta data to the class type.
bind< detail::prop, Class_Type, A1, A2, acc_level > 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 > property_readonly(string_view name, A acc, acc_level level=acc_level())
Register a read only property to this class.
static bind< detail::prop, detail::invalid_type, A1, A2, detail::public_access > property(string_view name, A1 getter, A2 setter)
Register a property to this class.
Definition: access_levels.h:34
detail::metadata metadata(variant key, variant value)
The metadata function can be used to add additional meta data information during the registration pro...
base_class operator()(Args &&... arg)
The bracket operator can be used to add additional meta data or policies.
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...
bind< detail::meth, Class_Type, F, acc_level > method(string_view name, F f, acc_level level=acc_level())
Register a method to this class.
~class_()
The class template basic_string_view describes an non-owning reference to a constant contiguous seque...
Definition: string_view.h:49
static bind< detail::meth, detail::invalid_type, F, detail::public_access > method(string_view name, F f)
Register a method to this class.
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
bind< detail::enum_, Class_Type, Enum_Type > enumeration(string_view name)
Register a nested enumeration of type Enum_Type.
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:130
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
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 bind class is used to chain registration calls.
Definition: registration.h:808
The variant class allows to store data of any type and convert between these types transparently.
Definition: variant.h:198
static bind< detail::prop, detail::invalid_type, A, detail::public_access > property(string_view name, A acc)
Register a global property with read write access.
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::enum_, detail::invalid_type, Enum_Type > enumeration(string_view name)
Register a global enumeration of type Enum_Type.
Generated on Sun Nov 12 2023 15:07:15 for rttr - 0.9.6 by doxygen.