eckit::Value class

Public static functions

static auto makeList() -> Value
static auto makeList(const Value&) -> Value
static auto makeList(const ValueList&) -> Value
static auto makeMap() -> Value
static auto makeMap(const ValueMap&) -> Value
static auto makeOrderedMap() -> Value
static auto makeOrderedMap(const ValueMap&, const ValueList&) -> Value

Constructors, destructors, conversion operators

Value()
Value(bool)
Value(int)
Value(long)
Value(long long)
Value(unsigned int)
Value(unsigned long)
Value(unsigned long long)
Value(double)
Value(const std::string&)
Value(const char*)
Value(const Length&)
Value(const Date&)
Value(const Time&)
Value(const DateTime&)
Value(const PathName&)
Value(Stream&)
Value(const ValueList&)
Value(const ValueMap&)
Value(const Value&)
~Value()
operator short() const
operator unsigned short() const
operator int() const
operator unsigned int() const
operator long() const
operator unsigned long() const
operator long long() const
operator unsigned long long() const
operator double() const
operator bool() const
operator std::string() const
operator PathName() const
operator Date() const
operator Time() const
operator DateTime() const
operator Length() const
operator Offset() const
operator ValueList() const
operator ValueMap() const

Public functions

auto operator=(const Value&) -> Value&
template<typename T>
auto as() const -> T
auto operator<(const Value& v) const -> bool
auto operator==(const Value& v) const -> bool
auto operator>(const Value& v) const -> bool
auto operator!=(const Value& v) const -> bool
auto operator>=(const Value& v) const -> bool
auto operator<=(const Value& v) const -> bool
auto operator+(const Value&) const -> Value
auto operator+=(const Value&) -> Value&
auto operator-() const -> Value
auto operator-(const Value&) const -> Value
auto operator-=(const Value&) -> Value&
auto operator*(const Value&) const -> Value
auto operator*=(const Value&) -> Value&
auto operator/(const Value&) const -> Value
auto operator/=(const Value&) -> Value&
auto operator%(const Value&) const -> Value
auto operator%=(const Value&) -> Value&
auto operator[](const char*) const -> Value
auto operator[](const std::string&) const -> Value
auto operator[](const Value&) const -> Value
auto operator[](int) const -> Value
auto operator[](const char*) -> Value&
auto operator[](const std::string&) -> Value&
auto operator[](const Value&) -> Value&
auto operator[](int) -> Value&
auto keys() const -> Value
auto size() const -> size_t
auto dump(std::ostream& out, size_t depth = 0, bool indent = true) const -> std::ostream&
auto typeName() const -> std::string
void hash(eckit::Hash&) const
auto contains(const char*) const -> bool
auto contains(const std::string&) const -> bool
auto contains(const Value&) const -> bool
auto contains(int) const -> bool
auto element(const Value&) -> Value&
auto element(const Value&) const -> Value
auto remove(const Value&) -> Value
void append(const Value&)
auto compare(const Value& v) const -> int
auto isNil() const -> bool
auto isNumber() const -> bool
auto isBool() const -> bool
auto isDouble() const -> bool
auto isString() const -> bool
auto isList() const -> bool
auto isMap() const -> bool
auto isDate() const -> bool
auto isTime() const -> bool
auto isDateTime() const -> bool
auto isOrderedMap() const -> bool
auto tail() const -> Value
auto head() const -> Value
auto clone() const -> Value
auto shared() const -> bool

Friends

auto operator<<(JSON& s, const Value& v) -> JSON&
auto operator<<(std::ostream& s, const Value& v) -> std::ostream&
auto operator<<(Stream& s, const Value& v) -> Stream&

Function documentation

template<typename T>
T eckit::Value::as() const

Explicitly cast value to the given type. For list of supported types, see the definitions of the member function value() in eckit/value/Content.h