|
|
@@ -1,6 +1,7 @@ |
|
|
|
#pragma once |
|
|
|
|
|
|
|
#include <map> |
|
|
|
#include <vector> |
|
|
|
#include <memory> |
|
|
|
|
|
|
|
#include "type.h" |
|
|
@@ -13,11 +14,13 @@ namespace cpprtti |
|
|
|
: public type |
|
|
|
{ |
|
|
|
private: |
|
|
|
using member_ptr_u = std::unique_ptr<member>; |
|
|
|
using member_map = std::map<std::string, member_ptr_u>; |
|
|
|
using member_ptr_u = std::unique_ptr<member>; |
|
|
|
using member_map = std::map<std::string, member_ptr_u>; |
|
|
|
using class_type_vector = std::vector<const class_type*>; |
|
|
|
|
|
|
|
private: |
|
|
|
member_map _members; |
|
|
|
member_map _members; |
|
|
|
class_type_vector _base_classes; |
|
|
|
|
|
|
|
public: |
|
|
|
/** |
|
|
@@ -53,6 +56,12 @@ namespace cpprtti |
|
|
|
inline auto& add_member_method( |
|
|
|
const std::string& p_name, |
|
|
|
T_args&&... p_args); |
|
|
|
|
|
|
|
/** |
|
|
|
* @brief Add a base class to this class type. |
|
|
|
*/ |
|
|
|
inline auto& inherits( |
|
|
|
const class_type& p_base_class); |
|
|
|
}; |
|
|
|
|
|
|
|
} |