diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2020-09-07 12:57:04 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2020-09-07 12:57:04 +0200 |
commit | 0558244645611f314f47e0fa427f7323ce253eaf (patch) | |
tree | 824bcd55ec8577703345106d0a08e167407500a7 /include/lib/ArduinoJson/JsonVariantOr.hpp | |
parent | 0248c6352f2117e50fac71dd632a79d8fa4f8737 (diff) |
remove external libraries from main branch
Diffstat (limited to 'include/lib/ArduinoJson/JsonVariantOr.hpp')
-rw-r--r-- | include/lib/ArduinoJson/JsonVariantOr.hpp | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/include/lib/ArduinoJson/JsonVariantOr.hpp b/include/lib/ArduinoJson/JsonVariantOr.hpp deleted file mode 100644 index d8022fc..0000000 --- a/include/lib/ArduinoJson/JsonVariantOr.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2018 -// MIT License - -#pragma once - -#include "Data/JsonVariantAs.hpp" -#include "Polyfills/attributes.hpp" -#include "TypeTraits/EnableIf.hpp" -#include "TypeTraits/IsIntegral.hpp" - -namespace ArduinoJson { -namespace Internals { - -template <typename TImpl> -class JsonVariantOr { - public: - // Returns the default value if the JsonVariant is undefined of incompatible - template <typename T> - typename EnableIf<!IsIntegral<T>::value, T>::type operator|( - const T &defaultValue) const { - if (impl()->template is<T>()) - return impl()->template as<T>(); - else - return defaultValue; - } - - // Returns the default value if the JsonVariant is undefined of incompatible - // Special case for string: null is treated as undefined - const char *operator|(const char *defaultValue) const { - const char *value = impl()->template as<const char *>(); - return value ? value : defaultValue; - } - - // Returns the default value if the JsonVariant is undefined of incompatible - // Special case for integers: we also accept double - template <typename Integer> - typename EnableIf<IsIntegral<Integer>::value, Integer>::type operator|( - const Integer &defaultValue) const { - if (impl()->template is<double>()) - return impl()->template as<Integer>(); - else - return defaultValue; - } - - private: - const TImpl *impl() const { - return static_cast<const TImpl *>(this); - } -}; -} // namespace Internals -} // namespace ArduinoJson |