Automated Build Tests

Fixes #34
This commit is contained in:
Robin Davies
2022-03-16 00:18:17 -04:00
parent 8b222cbf0b
commit 2b2e82730c
13 changed files with 307 additions and 70 deletions
+17 -2
View File
@@ -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> *