Lines Matching refs:Value
193 class JSON_API Value {
215 static const Value& null;
216 static const Value& nullRef;
220 static Value const& nullSingleton();
295 typedef std::map<CZString, Value> ObjectValues;
315 Value(ValueType type = nullValue);
316 Value(Int value);
317 Value(UInt value);
319 Value(Int64 value);
320 Value(UInt64 value);
322 Value(double value);
323 Value(const char* value); ///< Copy til first 0. (NULL causes to seg-fault.)
324 Value(const char* begin, const char* end); ///< Copy all, incl zeroes.
342 Value(const StaticString& value);
343 Value(const String& value);
344 Value(bool value);
345 Value(std::nullptr_t ptr) = delete;
346 Value(const Value& other);
347 Value(Value&& other) noexcept;
348 ~Value();
352 Value& operator=(const Value& other);
353 Value& operator=(Value&& other) noexcept;
356 void swap(Value& other);
358 void swapPayload(Value& other);
361 void copy(const Value& other);
363 void copyPayload(const Value& other);
368 bool operator<(const Value& other) const;
369 bool operator<=(const Value& other) const;
370 bool operator>=(const Value& other) const;
371 bool operator>(const Value& other) const;
372 bool operator==(const Value& other) const;
373 bool operator!=(const Value& other) const;
374 int compare(const Value& other) const;
445 Value& operator[](ArrayIndex index);
446 Value& operator[](int index);
453 const Value& operator[](ArrayIndex index) const;
454 const Value& operator[](int index) const;
459 Value get(ArrayIndex index, const Value& defaultValue) const;
465 Value& append(const Value& value);
466 Value& append(Value&& value);
469 bool insert(ArrayIndex index, const Value& newValue);
470 bool insert(ArrayIndex index, Value&& newValue);
475 Value& operator[](const char* key);
478 const Value& operator[](const char* key) const;
481 Value& operator[](const String& key);
485 const Value& operator[](const String& key) const;
498 Value& operator[](const StaticString& key);
501 Value get(const char* key, const Value& defaultValue) const;
505 Value get(const char* begin, const char* end,
506 const Value& defaultValue) const;
510 Value get(const String& key, const Value& defaultValue) const;
514 Value const* find(char const* begin, char const* end) const;
518 Value* demand(char const* begin, char const* end);
530 bool removeMember(const char* key, Value* removed);
537 bool removeMember(String const& key, Value* removed);
539 bool removeMember(const char* begin, const char* end, Value* removed);
546 bool removeIndex(ArrayIndex index, Value* removed);
602 void dupPayload(const Value& other);
604 void dupMeta(const Value& other);
606 Value& resolveReference(const char* key);
607 Value& resolveReference(const char* key, const char* end);
657 template <> inline bool Value::as<bool>() const { return asBool(); }
658 template <> inline bool Value::is<bool>() const { return isBool(); }
660 template <> inline Int Value::as<Int>() const { return asInt(); }
661 template <> inline bool Value::is<Int>() const { return isInt(); }
663 template <> inline UInt Value::as<UInt>() const { return asUInt(); }
664 template <> inline bool Value::is<UInt>() const { return isUInt(); }
667 template <> inline Int64 Value::as<Int64>() const { return asInt64(); }
668 template <> inline bool Value::is<Int64>() const { return isInt64(); }
670 template <> inline UInt64 Value::as<UInt64>() const { return asUInt64(); }
671 template <> inline bool Value::is<UInt64>() const { return isUInt64(); }
674 template <> inline double Value::as<double>() const { return asDouble(); }
675 template <> inline bool Value::is<double>() const { return isDouble(); }
677 template <> inline String Value::as<String>() const { return asString(); }
678 template <> inline bool Value::is<String>() const { return isString(); }
682 template <> inline float Value::as<float>() const { return asFloat(); }
683 template <> inline const char* Value::as<const char*>() const {
725 const Value& resolve(const Value& root) const;
726 Value resolve(const Value& root, const Value& defaultValue) const;
729 Value& make(Value& root) const;
763 Value key() const;
792 const Value& deref() const;
793 Value& deref();
806 Value::ObjectValues::iterator current_;
814 explicit ValueIteratorBase(const Value::ObjectValues::iterator& current);
821 friend class Value; variable
824 using value_type = const Value;
827 using reference = const Value&;
828 using pointer = const Value*;
837 explicit ValueConstIterator(const Value::ObjectValues::iterator& current);
872 friend class Value; variable
875 using value_type = Value;
878 using reference = Value&;
879 using pointer = Value*;
889 explicit ValueIterator(const Value::ObjectValues::iterator& current);
925 inline void swap(Value& a, Value& b) { a.swap(b); } in swap()