mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2026-07-08 17:30:54 +02:00
VariantImpl: extract static size()
This commit is contained in:
@@ -537,13 +537,24 @@ class VariantImpl {
|
||||
}
|
||||
|
||||
size_t size() {
|
||||
if (isObject())
|
||||
return asObject().size();
|
||||
if (!data_)
|
||||
return 0;
|
||||
|
||||
if (isArray())
|
||||
return asArray().size();
|
||||
return size(data_, resources_);
|
||||
}
|
||||
|
||||
return 0;
|
||||
static size_t size(VariantData* data, ResourceManager* resources) {
|
||||
ARDUINOJSON_ASSERT(data != nullptr);
|
||||
ARDUINOJSON_ASSERT(resources != nullptr);
|
||||
|
||||
size_t n = CollectionImpl(data, resources).size();
|
||||
|
||||
if (data->type == VariantType::Object) {
|
||||
ARDUINOJSON_ASSERT((n % 2) == 0);
|
||||
n /= 2;
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
ArrayImpl toArray() {
|
||||
|
||||
Reference in New Issue
Block a user