summaryrefslogtreecommitdiff
path: root/include/lib/ArduinoJson/Object/Pair.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib/ArduinoJson/Object/Pair.hpp')
-rw-r--r--include/lib/ArduinoJson/Object/Pair.hpp55
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