diff options
Diffstat (limited to 'include/lib/ArduinoJson/Object/Pair.hpp')
-rw-r--r-- | include/lib/ArduinoJson/Object/Pair.hpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/include/lib/ArduinoJson/Object/Pair.hpp b/include/lib/ArduinoJson/Object/Pair.hpp new file mode 100644 index 0000000..44fce75 --- /dev/null +++ b/include/lib/ArduinoJson/Object/Pair.hpp @@ -0,0 +1,55 @@ +// ArduinoJson - https://arduinojson.org +// Copyright Benoit Blanchon 2014-2021 +// MIT License + +#pragma once + +#include <ArduinoJson/Strings/String.hpp> +#include <ArduinoJson/Variant/VariantRef.hpp> + +namespace ARDUINOJSON_NAMESPACE { +// A key value pair for CollectionData. +class Pair { + public: + Pair(MemoryPool* pool, VariantSlot* slot) { + if (slot) { + _key = String(slot->key(), !slot->ownsKey()); + _value = VariantRef(pool, slot->data()); + } + } + + String key() const { + return _key; + } + + VariantRef value() const { + return _value; + } + + private: + String _key; + VariantRef _value; +}; + +class PairConst { + public: + PairConst(const VariantSlot* slot) { + if (slot) { + _key = String(slot->key(), !slot->ownsKey()); + _value = VariantConstRef(slot->data()); + } + } + + String key() const { + return _key; + } + + VariantConstRef value() const { + return _value; + } + + private: + String _key; + VariantConstRef _value; +}; +} // namespace ARDUINOJSON_NAMESPACE |