+17
-2
@@ -162,10 +162,17 @@ private:
|
||||
std::vector<json_member_reference_base<CLASS>* > members_;
|
||||
json_map_impl(const json_map_impl&) { } // disable copy constructor.
|
||||
public:
|
||||
json_map_impl(std::vector<json_member_reference_base<CLASS>*> members)
|
||||
using members_t = std::vector<json_member_reference_base<CLASS>*>;
|
||||
|
||||
json_map_impl(const members_t &members)
|
||||
: members_(members)
|
||||
{
|
||||
|
||||
}
|
||||
json_map_impl(members_t &&members)
|
||||
: members_(std::forward<members_t>(members))
|
||||
{
|
||||
|
||||
}
|
||||
virtual ~json_map_impl()
|
||||
{
|
||||
@@ -185,12 +192,20 @@ public:
|
||||
|
||||
class json_map {
|
||||
public:
|
||||
|
||||
template <typename CLASS> class storage_type : public json_map_impl<CLASS> {
|
||||
public:
|
||||
storage_type(std::vector<json_member_reference_base<CLASS>*> members)
|
||||
|
||||
using members_t = std::vector<json_member_reference_base<CLASS>*>;
|
||||
|
||||
storage_type(const members_t &members)
|
||||
: json_map_impl<CLASS>(members)
|
||||
{
|
||||
}
|
||||
storage_type(members_t &&members)
|
||||
: json_map_impl<CLASS>(std::forward<members_t>(members))
|
||||
{
|
||||
}
|
||||
};
|
||||
template <typename CLASS, typename MEMBER_TYPE>
|
||||
static json_member_reference<CLASS,MEMBER_TYPE> *
|
||||
|
||||
Reference in New Issue
Block a user