Files
thirdparty-ArduinoJson/include/ArduinoJson/JsonValue.hpp
2014-10-23 17:22:23 +02:00

45 lines
1.1 KiB
C++

#pragma once
#include "Internals/JsonNodeWrapper.hpp"
namespace ArduinoJson
{
class JsonArray;
class JsonContainer;
class JsonObject;
class JsonValue : public Internals::JsonNodeWrapper
{
public:
JsonValue() {}
explicit JsonValue(Internals::JsonNode* node)
: JsonNodeWrapper(node)
{
}
void operator=(bool);
void operator=(const char*);
void operator=(double x) { set(x, 2); }
void operator=(int);
void operator=(const JsonValue& value) { duplicate(value); }
void operator=(const Internals::JsonNodeWrapper& object) { duplicate(object); }
operator bool() const;
operator const char*() const;
operator double() const;
operator long() const;
operator int() const { return operator long(); }
operator JsonArray() const;
operator JsonObject() const;
void set(double value, int decimals);
template<typename T>
T as()
{
return static_cast<T>(*this);
}
};
}