forked from bblanchon/ArduinoJson
Added equality operator
This commit is contained in:
@ -56,11 +56,12 @@ class JsonValue {
|
|||||||
operator JsonArray &() const;
|
operator JsonArray &() const;
|
||||||
operator JsonObject &() const;
|
operator JsonObject &() const;
|
||||||
|
|
||||||
JsonArray &asArray() { return static_cast<JsonArray &>(*this); };
|
const char *asString() const { return this->as<const char *>(); }
|
||||||
JsonObject &asObject() { return static_cast<JsonObject &>(*this); };
|
JsonArray &asArray() const { return this->as<JsonArray &>(); };
|
||||||
|
JsonObject &asObject() const { return this->as<JsonObject &>(); };
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
T as() {
|
T as() const {
|
||||||
return static_cast<T>(*this);
|
return static_cast<T>(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,4 +79,14 @@ class JsonValue {
|
|||||||
Internals::JsonValueContent _content;
|
Internals::JsonValueContent _content;
|
||||||
static JsonValue _invalid;
|
static JsonValue _invalid;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
inline bool operator==(const JsonValue &left, T right) {
|
||||||
|
return left.as<T>() == right;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
inline bool operator==(T left, const JsonValue &right) {
|
||||||
|
return left == right.as<T>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user