Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

Value

JSON-compatible value preserving signed and unsigned integers, floating-point numbers, strings, arrays, objects, booleans, and null.

API

JSON-compatible value preserving signed and unsigned integers, floating-point numbers, strings, arrays, objects, booleans, and null.

Namespace: DARTWIC::Share.

#include <dartwic/share/DARTWICShareProtocol.h>

Declaration

class Value {
public:
    using Array = std::vector<Value>;
    using Object = std::map<std::string, Value>;
    using Storage = std::variant<std::monostate, bool, int64_t, uint64_t, double,
            std::string, Array, Object>;
    Value() = default;
    Value(std::nullptr_t);
    Value(bool value);
    Value(int value);
    Value(int64_t value);
    Value(uint64_t value);
    Value(double value);
    Value(const char* value);
    Value(std::string value);
    Value(Array value);
    Value(Object value);
    const Storage& storage() const noexcept;
    Storage& storage() noexcept;
    bool isNull() const noexcept;
    friend bool operator==(const Value&, const Value&) = default;
};