registration.h File Reference
#include "rttr/detail/base/core_prerequisites.h"
#include "rttr/policy.h"
#include "rttr/access_levels.h"
#include "rttr/detail/registration/bind_types.h"
#include "rttr/detail/registration/registration_executer.h"
#include "rttr/detail/default_arguments/default_arguments.h"
#include "rttr/detail/parameter_info/parameter_names.h"
#include "rttr/variant.h"
#include "rttr/detail/registration/registration_impl.h"

Go to the source code of this file.

Classes

class  rttr::registration::bind< T >
 The bind class is used to chain registration calls. More...
 
class  rttr::registration::bind< T >
 The bind class is used to chain registration calls. More...
 
class  rttr::registration::class_< Class_Type >
 The class_ is used to register classes to RTTR. More...
 
class  rttr::registration
 The registration class is the entry point for the manual registration of reflection information to the type system. More...
 

Namespaces

 rttr
 

Macros

#define RTTR_REGISTRATION
 Use this macro to automatically register your reflection information to RTTR before main is called. More...
 
#define RTTR_REGISTRATION_FRIEND
 Place this macro inside a class, when you need to reflect properties, methods or constructors which are declared in protected or private scope of the class. More...
 

Functions

template<typename... TArgs>
detail::default_args< TArgs... > rttr::default_arguments (TArgs &&...args)
 The default_arguments function should be used add default arguments, for constructors or a methods during the registration process of reflection information. More...
 
detail::metadata rttr::metadata (variant key, variant value)
 The metadata function can be used to add additional meta data information during the registration process of reflection information. More...
 
template<typename... TArgs>
detail::parameter_names< detail::decay_t< TArgs >... > rttr::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. More...
 
template<typename ClassType , typename ReturnType , typename... Args>
auto rttr::select_const (ReturnType(ClassType::*func)(Args...) const) -> decltype(func)
 This is a helper function to register overloaded const member functions. More...
 
template<typename ClassType , typename ReturnType , typename... Args>
auto rttr::select_non_const (ReturnType(ClassType::*func)(Args...)) -> decltype(func)
 This is a helper function to register overloaded const member functions. More...
 
template<typename Signature >
Signature * rttr::select_overload (Signature *func)
 This is a helper function to register overloaded functions. More...
 
template<typename Signature , typename ClassType >
auto rttr::select_overload (Signature(ClassType::*func)) -> decltype(func)
 This is a helper function to register overloaded member functions. More...
 
template<typename Enum_Type >
detail::enum_data< Enum_Type > rttr::value (const char *name, Enum_Type value)
 The value function should be used to add a mapping from enum name to value during the registration process of reflection information. More...
 

Macro Definition Documentation

#define RTTR_REGISTRATION

Use this macro to automatically register your reflection information to RTTR before main is called.

Use it in following way:

Just place the macro in global scope in a cpp file.

Remarks
It is not possible to place the macro multiple times in one cpp file.
#define RTTR_REGISTRATION_FRIEND

Place this macro inside a class, when you need to reflect properties, methods or constructors which are declared in protected or private scope of the class.

class Foo
{
private:
int m_value;
};
{
.property("value", &Foo::m_value);
}