Create or assign a JsonDocument from a JsonArray/JsonObject/JsonVariant

This commit is contained in:
Benoit Blanchon
2019-01-23 10:47:20 +01:00
parent 2a3b51ac3a
commit 4167b11434
10 changed files with 334 additions and 98 deletions

View File

@@ -5,6 +5,7 @@
#pragma once
#include "../Memory/MemoryPool.hpp"
#include "../Object/ObjectRef.hpp"
#include "../Variant/VariantRef.hpp"
#include "../Variant/VariantTo.hpp"
@@ -53,6 +54,16 @@ class JsonDocument : public Visitable {
return _pool.capacity();
}
bool set(const JsonDocument& src) {
return to<VariantRef>().set(src.as<VariantRef>());
}
template <typename T>
typename enable_if<!is_base_of<JsonDocument, T>::value, bool>::type set(
const T& src) {
return to<VariantRef>().set(src);
}
template <typename T>
typename VariantTo<T>::type to() {
clear();