// Copyright Benoit Blanchon 2014-2016 // MIT License // // Arduino JSON library // https://github.com/bblanchon/ArduinoJson // If you like this project, please add a star! #pragma once #include "JsonVariantBase.hpp" namespace ArduinoJson { template class JsonSubscriptBase : public JsonVariantBase { public: FORCE_INLINE TImpl& operator=(bool value) { return assign(value); } FORCE_INLINE TImpl& operator=(float value) { return assign(value); } FORCE_INLINE TImpl& operator=(double value) { return assign(value); } FORCE_INLINE TImpl& operator=(signed char value) { return assign(value); } FORCE_INLINE TImpl& operator=(signed long value) { return assign(value); } FORCE_INLINE TImpl& operator=(signed int value) { return assign(value); } FORCE_INLINE TImpl& operator=(signed short value) { return assign(value); } FORCE_INLINE TImpl& operator=(unsigned char value) { return assign(value); } FORCE_INLINE TImpl& operator=(unsigned long value) { return assign(value); } FORCE_INLINE TImpl& operator=(unsigned int value) { return assign(value); } FORCE_INLINE TImpl& operator=(unsigned short value) { return assign(value); } FORCE_INLINE TImpl& operator=(const char* value) { return assign(value); } FORCE_INLINE TImpl& operator=(const String& value) { return assign(value); } FORCE_INLINE TImpl& operator=(JsonArray& array) { return assign(array); } FORCE_INLINE TImpl& operator=(JsonObject& object) { return assign(object); } FORCE_INLINE TImpl& operator=(JsonVariant value) { return assign(value); } protected: template FORCE_INLINE TImpl& assign(TValue value) { TImpl* that = static_cast(this); that->template set(value); return *that; } }; }