diff --git a/JsonGenerator/JsonArrayBase.h b/JsonGenerator/JsonArrayBase.h index 1e77bc54..a36c0525 100644 --- a/JsonGenerator/JsonArrayBase.h +++ b/JsonGenerator/JsonArrayBase.h @@ -20,17 +20,34 @@ namespace ArduinoJson } - void add(const Printable& nestedObject) + void add(const Printable& value) { - if (count < capacity) - items[count++] = nestedObject; + addIfPossible(value); } - template - void add(T value) + void add(bool value) { - if (count < capacity) - items[count++] = value; + addIfPossible(value); + } + + void add(int value) + { + addIfPossible(value); + } + + void add(long value) + { + addIfPossible(value); + } + + void add(double value) + { + addIfPossible(value); + } + + void add(const char* value) + { + addIfPossible(value); } template @@ -49,6 +66,13 @@ namespace ArduinoJson private: JsonValue* items; int capacity, count; + + template + void addIfPossible(T value) + { + if (count < capacity) + items[count++] = value; + } }; } } \ No newline at end of file