WIP: is requires a loop

This commit is contained in:
Benoit Blanchon
2022-03-10 15:16:37 +01:00
parent a673f14943
commit 781928a588
2 changed files with 9 additions and 3 deletions

View File

@@ -64,8 +64,9 @@ TEST_CASE("Linked document") {
}
SECTION("is<T>()") {
CHECK(doc1.is<JsonObject>() == true);
CHECK(doc1.is<JsonArray>() == false);
CHECK(doc1.is<JsonArrayConst>() == false);
CHECK(doc1.is<JsonObjectConst>() == true);
CHECK(doc1.is<JsonObject>() == false);
}
SECTION("get member") {

View File

@@ -53,7 +53,12 @@ class VariantRefBase : public VariantTag {
TData *_data;
friend TData *getData(const VariantRefBase &variant) {
return variant._data;
TData *data = variant._data;
if (!data)
return 0;
while (data->isPointer())
data = data->asPointer; // TODO: test multiple levels
return data;
}
};