21 const Value::ObjectValues::iterator& current)
22 : current_(current), isNull_(false) {}
32 #ifdef JSON_USE_CPPTL_SMALLMAP 33 return other.current_ - current_;
40 if (isNull_ && other.isNull_) {
50 for (Value::ObjectValues::iterator it = current_; it != other.current_;
62 return current_ == other.current_;
66 current_ = other.current_;
67 isNull_ = other.isNull_;
71 const Value::CZString czstring = (*current_).first;
72 if (czstring.data()) {
73 if (czstring.isStaticString())
75 return Value(czstring.data(), czstring.data() + czstring.length());
77 return Value(czstring.index());
81 const Value::CZString czstring = (*current_).first;
83 return czstring.index();
97 const char* cname = (*current_).first.data();
98 return cname ? cname :
"";
102 const char* cname = (*current_).first.data();
107 *end = cname + (*current_).first.length();
122 const Value::ObjectValues::iterator& current)
123 : ValueIteratorBase(current) {}
difference_type computeDistance(const SelfType &other) const
bool isEqual(const SelfType &other) const
base class for Value iterators.
Lightweight wrapper to tag static string.
void copy(const SelfType &other)
const iterator for object and array value.
UInt index() const
Return the index of the referenced Value, or -1 if it is not an arrayValue.
Value key() const
Return either the index or the member name of the referenced value as a Value.
SelfType & operator=(const SelfType &other)
JSON (JavaScript Object Notation).
SelfType & operator=(const ValueIteratorBase &other)
void throwRuntimeError(String const &msg)
used internally
Iterator for object and array value.
char const * memberName(char const **end) const
Return the member name of the referenced Value, or NULL if it is not an objectValue.
String name() const
Return the member name of the referenced Value, or "" if it is not an objectValue.
std::basic_string< char, std::char_traits< char >, Allocator< char > > String