Members< ValueTypes > Struct Template Reference
|
CPP API
|
Public Member Functions |
Public Attributes |
Private Member Functions |
Friends |
List of all members
mio::Members< ValueTypes > Struct Template Reference
List of a class's members. More...
#include <default_serialize.h>
Public Member Functions | |
| template<class T > | |
| Members< ValueTypes..., T > | add (const char *member_name, T &member) |
| Add a class member. More... | |
| Members (const char *class_name) | |
| Initialize Members with a class name. More... | |
Public Attributes | |
| const char * | name |
| Name of the class. More... | |
| std::tuple< NamedRef< ValueTypes >... > | named_refs |
| Names and references to members of the class. More... | |
Private Member Functions | |
| Members (const char *class_name, std::tuple< NamedRef< ValueTypes >... > named_references) | |
| Initialize Members directly. More... | |
Friends | |
| template<class... > | |
| struct | Members |
Detailed Description
template<class... ValueTypes>
struct mio::Members< ValueTypes >
List of a class's members.
Used for default (de)serialization. Holds a char pointer to the class name as well as a tuple of NamedRefs with all added class members. Initially, the template parameter pack should be left empty. It will be filled by calling Members::add.
- Template Parameters
-
ValueTypes The (non-cv, non-reference) types of member variables.
Constructor & Destructor Documentation
◆ Members() [1/2]
template<class... ValueTypes>
|
inline |
Initialize Members with a class name.
Use the member function add to specify the class's variables.
- Parameters
-
[in] class_name Name of a class.
◆ Members() [2/2]
template<class... ValueTypes>
|
inlineprivate |
Member Function Documentation
◆ add()
template<class... ValueTypes>
template<class T >
|
inline |
Add a class member.
Use this function consecutively for all members, e.g. Members("class").add("a", a).add("b", b).add....
- Parameters
-
[in] member_name The name used for serialization. Should be the same as or similar to the class member. For example, a good option a private class member m_timeis simply"time".[in] member A class member. Always pass this variable directly, do not use getters or accessors.
- Returns
- A Members object with all previous class members and the newly added one.
Friends And Related Function Documentation
◆ Members
Member Data Documentation
◆ name
template<class... ValueTypes>
| const char* mio::Members< ValueTypes >::name |
Name of the class.
◆ named_refs
template<class... ValueTypes>
| std::tuple<NamedRef<ValueTypes>...> mio::Members< ValueTypes >::named_refs |
Names and references to members of the class.
Generated by