summaryrefslogtreecommitdiff
path: root/include/lib/ArduinoJson/JsonVariantComparisons.hpp
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2020-09-07 12:57:04 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2020-09-07 12:57:04 +0200
commit0558244645611f314f47e0fa427f7323ce253eaf (patch)
tree824bcd55ec8577703345106d0a08e167407500a7 /include/lib/ArduinoJson/JsonVariantComparisons.hpp
parent0248c6352f2117e50fac71dd632a79d8fa4f8737 (diff)
remove external libraries from main branch
Diffstat (limited to 'include/lib/ArduinoJson/JsonVariantComparisons.hpp')
-rw-r--r--include/lib/ArduinoJson/JsonVariantComparisons.hpp139
1 files changed, 0 insertions, 139 deletions
diff --git a/include/lib/ArduinoJson/JsonVariantComparisons.hpp b/include/lib/ArduinoJson/JsonVariantComparisons.hpp
deleted file mode 100644
index 47f9d63..0000000
--- a/include/lib/ArduinoJson/JsonVariantComparisons.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// ArduinoJson - arduinojson.org
-// Copyright Benoit Blanchon 2014-2018
-// MIT License
-
-#pragma once
-
-#include "StringTraits/StringTraits.hpp"
-#include "TypeTraits/EnableIf.hpp"
-#include "TypeTraits/IsVariant.hpp"
-
-namespace ArduinoJson {
-namespace Internals {
-
-template <typename TImpl>
-class JsonVariantComparisons {
- public:
- template <typename TComparand>
- friend bool operator==(const JsonVariantComparisons &variant,
- TComparand comparand) {
- return variant.equals(comparand);
- }
-
- template <typename TComparand>
- friend typename EnableIf<!IsVariant<TComparand>::value, bool>::type
- operator==(TComparand comparand, const JsonVariantComparisons &variant) {
- return variant.equals(comparand);
- }
-
- template <typename TComparand>
- friend bool operator!=(const JsonVariantComparisons &variant,
- TComparand comparand) {
- return !variant.equals(comparand);
- }
-
- template <typename TComparand>
- friend typename EnableIf<!IsVariant<TComparand>::value, bool>::type
- operator!=(TComparand comparand, const JsonVariantComparisons &variant) {
- return !variant.equals(comparand);
- }
-
- template <typename TComparand>
- friend bool operator<=(const JsonVariantComparisons &left, TComparand right) {
- return left.as<TComparand>() <= right;
- }
-
- template <typename TComparand>
- friend bool operator<=(TComparand comparand,
- const JsonVariantComparisons &variant) {
- return comparand <= variant.as<TComparand>();
- }
-
- template <typename TComparand>
- friend bool operator>=(const JsonVariantComparisons &variant,
- TComparand comparand) {
- return variant.as<TComparand>() >= comparand;
- }
-
- template <typename TComparand>
- friend bool operator>=(TComparand comparand,
- const JsonVariantComparisons &variant) {
- return comparand >= variant.as<TComparand>();
- }
-
- template <typename TComparand>
- friend bool operator<(const JsonVariantComparisons &varian,
- TComparand comparand) {
- return varian.as<TComparand>() < comparand;
- }
-
- template <typename TComparand>
- friend bool operator<(TComparand comparand,
- const JsonVariantComparisons &variant) {
- return comparand < variant.as<TComparand>();
- }
-
- template <typename TComparand>
- friend bool operator>(const JsonVariantComparisons &variant,
- TComparand comparand) {
- return variant.as<TComparand>() > comparand;
- }
-
- template <typename TComparand>
- friend bool operator>(TComparand comparand,
- const JsonVariantComparisons &variant) {
- return comparand > variant.as<TComparand>();
- }
-
- private:
- const TImpl *impl() const {
- return static_cast<const TImpl *>(this);
- }
-
- template <typename T>
- const typename JsonVariantAs<T>::type as() const {
- return impl()->template as<T>();
- }
-
- template <typename T>
- bool is() const {
- return impl()->template is<T>();
- }
-
- template <typename TString>
- typename EnableIf<StringTraits<TString>::has_equals, bool>::type equals(
- const TString &comparand) const {
- const char *value = as<const char *>();
- return StringTraits<TString>::equals(comparand, value);
- }
-
- template <typename TComparand>
- typename EnableIf<!IsVariant<TComparand>::value &&
- !StringTraits<TComparand>::has_equals,
- bool>::type
- equals(const TComparand &comparand) const {
- return as<TComparand>() == comparand;
- }
-
- template <typename TVariant2>
- bool equals(const JsonVariantComparisons<TVariant2> &right) const {
- using namespace Internals;
- if (is<bool>() && right.template is<bool>())
- return as<bool>() == right.template as<bool>();
- if (is<JsonInteger>() && right.template is<JsonInteger>())
- return as<JsonInteger>() == right.template as<JsonInteger>();
- if (is<JsonFloat>() && right.template is<JsonFloat>())
- return as<JsonFloat>() == right.template as<JsonFloat>();
- if (is<JsonArray>() && right.template is<JsonArray>())
- return as<JsonArray>() == right.template as<JsonArray>();
- if (is<JsonObject>() && right.template is<JsonObject>())
- return as<JsonObject>() == right.template as<JsonObject>();
- if (is<char *>() && right.template is<char *>())
- return StringTraits<const char *>::equals(as<char *>(),
- right.template as<char *>());
-
- return false;
- }
-};
-} // namespace Internals
-} // namespace ArduinoJson