The namespace for all rttr components. More...
Classes | |
| class | class_ |
This class is used to register the constructors, properties, methods and enumeration for a certain class ClassType. More... | |
| class | constructor |
| The constructor class provides several meta information about a constructor and can be invoked. More... | |
| class | destructor |
| The destructor class provides a destructor for registered types. More... | |
| class | enumeration |
| The enumeration class provides several meta information about an enum. More... | |
| class | metadata |
| This class is used to add custom meta data to the binding of a type. More... | |
| class | method |
| The method class provides several meta information about a method and can be invoked. More... | |
| class | property |
| The property class provides several meta information about a property and gives read/write access to its value. More... | |
| class | type |
| This class holds the type information for any arbitrary object. More... | |
| class | variant |
| The variant class allows to store data of any type and convert between these types transparently. More... | |
| class | variant_array |
| The variant_array class is a specialization of a variant, but for array types. More... | |
Typedefs | |
| typedef short | int16 |
| typedef int | int32 |
| typedef char | int8 |
| typedef unsigned short | uint16 |
| typedef unsigned int | uint32 |
| typedef unsigned char | uint8 |
Functions | |
| template<typename T > | |
| void | constructor_ (std::vector< rttr::metadata > data=std::vector< rttr::metadata >()) |
| Register a constructor for a type T. More... | |
| template<typename EnumType > | |
| void | enumeration_ (std::vector< std::pair< std::string, EnumType > > enum_data, std::vector< rttr::metadata > data=std::vector< rttr::metadata >()) |
Register an enumeration of type EnumType. More... | |
| template<typename F > | |
| void | method_ (const std::string &name, F function) |
| Register a free function. More... | |
| template<typename F > | |
| void | method_ (const std::string &name, F function, std::vector< rttr::metadata > data) |
| Register a free function. More... | |
| template<typename F , typename Policy > | |
| void | method_ (const std::string &name, F function, const Policy &policy) |
| Register a free function. More... | |
| template<typename F , typename Policy > | |
| void | method_ (const std::string &name, F function, std::vector< rttr::metadata > data, const Policy &policy) |
| Register a free function. More... | |
| template<typename A > | |
| void | property_ (const std::string &name, A acc) |
| Register a property with read and write access. More... | |
| template<typename A > | |
| void | property_ (const std::string &name, A acc, std::vector< rttr::metadata > data) |
| Register a property with read and write access. More... | |
| template<typename A , typename Policy > | |
| void | property_ (const std::string &name, A acc, const Policy &policy,) |
| Register a property with read and write access. More... | |
| template<typename A , typename Policy > | |
| void | property_ (const std::string &name, A acc, std::vector< rttr::metadata > data, const Policy &policy) |
| Register a property with read and write access. More... | |
| template<typename A1 , typename A2 > | |
| void | property_ (const std::string &name, A1 getter, A2 setter,) |
| Register a property with read and write access. More... | |
| template<typename A1 , typename A2 > | |
| void | property_ (const std::string &name, A1 getter, A2 setter, std::vector< rttr::metadata > data) |
| Register a property with read and write access. More... | |
| template<typename A1 , typename A2 , typename Policy > | |
| void | property_ (const std::string &name, A1 getter, A2 setter, const Policy &policy) |
| Register a property with read and write access. More... | |
| template<typename A1 , typename A2 , typename Policy > | |
| void | property_ (const std::string &name, A1 getter, A2 setter,) |
| Register a property with read and write access. More... | |
| template<typename A > | |
| void | property_readonly_ (const std::string &name, A acc) |
| Register a property with read only access. More... | |
| template<typename A > | |
| void | property_readonly_ (const std::string &name, A acc, std::vector< rttr::metadata > data) |
| Register a property with read only access. More... | |
| template<typename A , typename Policy > | |
| void | property_readonly_ (const std::string &name, A acc, const Policy &policy) |
| Register a property with read only access. More... | |
| template<typename A , typename Policy > | |
| void | property_readonly_ (const std::string &name, A acc, std::vector< rttr::metadata > data, const Policy &policy) |
| Register a property with read only access. More... | |
| template<typename TargetType , typename SourceType > | |
| TargetType | rttr_cast (SourceType object) |
Casts the given object of type SourceType to an object of type TargetType. More... | |
Variables | |
| detail::bind_property_as_ptr_policy | bind_property_as_ptr |
| detail::discard_return_value_policy | discard_return_value |
| detail::return_reference_as_ptr_policy | return_reference_as_ptr |
Detailed Description
The namespace for all rttr components.
Typedef Documentation
| typedef short rttr::int16 |
| typedef int rttr::int32 |
| typedef char rttr::int8 |
| typedef unsigned short rttr::uint16 |
| typedef unsigned int rttr::uint32 |
| typedef unsigned char rttr::uint8 |
Function Documentation
| void rttr::constructor_ | ( | std::vector< rttr::metadata > | data = std::vector< rttr::metadata >() | ) |
Register a constructor for a type T.
- Parameters
-
data Additional meta data.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::enumeration_ | ( | std::vector< std::pair< std::string, EnumType > > | enum_data, |
| std::vector< rttr::metadata > | data = std::vector< rttr::metadata >() |
||
| ) |
Register an enumeration of type EnumType.
- Parameters
-
enum_data The name of the property. data Additional meta data.
- Remarks
- Before using this make sure you have registered the type with RTTR_DECLARE_TYPE.
| void rttr::method_ | ( | const std::string & | name, |
| F | function | ||
| ) |
Register a free function.
- Parameters
-
name The name of the method. function The function accessor to this method; this can be a member function, a function or a std::function.
- Remarks
- The method name does not have to be unique for this class.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::method_ | ( | const std::string & | name, |
| F | function, | ||
| std::vector< rttr::metadata > | data | ||
| ) |
Register a free function.
- Parameters
-
name The name of the method. function The function accessor to this method; this can be a member function, a function or a std::function. data Additional meta data.
- Remarks
- The method name does not have to be unique for this class.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::method_ | ( | const std::string & | name, |
| F | function, | ||
| const Policy & | policy | ||
| ) |
Register a free function.
- Parameters
-
name The name of the method. function The function accessor to this method; this can be a member function, a function or a std::function. policy The policies parameter describes how the method should be binded to the type system.
- Remarks
- The method name does not have to be unique for this class.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::method_ | ( | const std::string & | name, |
| F | function, | ||
| std::vector< rttr::metadata > | data, | ||
| const Policy & | policy | ||
| ) |
Register a free function.
- Parameters
-
name The name of the method. function The function accessor to this method; this can be a member function, a function or a std::function. data Additional meta data. policy The policies parameter describes how the method should be binded to the type system.
- Remarks
- The method name does not have to be unique for this class.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::property_ | ( | const std::string & | name, |
| A | acc | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. acc The accessor to the property; a pointer to a variable.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A | acc, | ||
| std::vector< rttr::metadata > | data | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. acc The accessor to the property; a pointer to a variable. data Additional meta data.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A | acc, | ||
| const Policy & | policy | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. acc The accessor to the property; a pointer to a variable. policy The policies parameter describes how the property should be binded to the type system.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A | acc, | ||
| std::vector< rttr::metadata > | data, | ||
| const Policy & | policy | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. acc The accessor to the property; a pointer to a variable. data Additional meta data. policy The policies parameter describes how the property should be binded to the type system.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A1 | getter, | ||
| A2 | setter | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. getter The getter accessor to the property; this can be a pointer to a function or a std::function. setter The setter accessor to the property; this can be a pointer to a function or a std::function.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A1 | getter, | ||
| A2 | setter, | ||
| std::vector< rttr::metadata > | data | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. getter The getter accessor to the property; this can be a pointer to a function or a std::function. setter The setter accessor to the property; this can be a pointer to a function or a std::function. data Additional meta data.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A1 | getter, | ||
| A2 | setter, | ||
| const Policy & | policy | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. getter The getter accessor to the property; this can be a pointer to a function or a std::function. setter The setter accessor to the property; this can be a pointer to a function or a std::function. policy The policies parameter describes how the property should be binded to the type system.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_ | ( | const std::string & | name, |
| A1 | getter, | ||
| A2 | setter | ||
| ) |
Register a property with read and write access.
- Parameters
-
name The name of the property. getter The getter accessor to the property; this can be a pointer to a function or a std::function. setter The setter accessor to the property; this can be a pointer to a function or a std::function. data Additional meta data. policy The policies parameter describes how the property should be binded to the type system.
- Remarks
- The name of the property has to be unique for this class, otherwise it will not be registered.
| void rttr::property_readonly_ | ( | const std::string & | name, |
| A | acc | ||
| ) |
Register a property with read only access.
- Parameters
-
name The name of the property. acc The accessor to the property; this can be a pointer to a variable, a pointer to a function or a std::function. data Additional meta data.
- Remarks
- The name of the property has to be unique for a namespace, otherwise it will not be registered.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::property_readonly_ | ( | const std::string & | name, |
| A | acc, | ||
| std::vector< rttr::metadata > | data | ||
| ) |
Register a property with read only access.
- Parameters
-
name The name of the property. acc The accessor to the property; this can be a pointer to a variable, a pointer to a function or a std::function. data Additional meta data.
- Remarks
- The name of the property has to be unique for a namespace, otherwise it will not be registered.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::property_readonly_ | ( | const std::string & | name, |
| A | acc, | ||
| const Policy & | policy | ||
| ) |
Register a property with read only access.
- Parameters
-
name The name of the property. acc The accessor to the property; this can be a pointer to a variable, a pointer to a function or a std::function. policy The policies parameter describes how the property should be binded to the type system.
- Remarks
- The name of the property has to be unique for a namespace, otherwise it will not be registered.
- Returns
- Reference to this, in order to chain other calls.
| void rttr::property_readonly_ | ( | const std::string & | name, |
| A | acc, | ||
| std::vector< rttr::metadata > | data, | ||
| const Policy & | policy | ||
| ) |
Register a property with read only access.
- Parameters
-
name The name of the property. acc The accessor to the property; this can be a pointer to a variable, a pointer to a function or a std::function. data Additional meta data. policy The policies parameter describes how the property should be binded to the type system.
- Remarks
- The name of the property has to be unique for a namespace, otherwise it will not be registered.
- Returns
- Reference to this, in order to chain other calls.
| TargetType rttr::rttr_cast | ( | SourceType | object | ) |
Casts the given object of type SourceType to an object of type TargetType.
When the given the given object is an instance of type TargetType, then this function will cast the pointer to the TargetType; otherwise it will return a nullptr. If object is already a nullptr then it will also return a nullptr.
- Remarks
SourceTypeandTargetTypemust be both pointer types.
- Returns
- A pointer of type
TargetType
Variable Documentation
| detail::bind_property_as_ptr_policy rttr::bind_property_as_ptr |
| detail::discard_return_value_policy rttr::discard_return_value |
| detail::return_reference_as_ptr_policy rttr::return_reference_as_ptr |