21    const Value::ObjectValues::iterator& current)
 
   22    : current_(current), isNull_(false) {}
 
 
   38  if (isNull_ && other.isNull_) {
 
   48  for (Value::ObjectValues::iterator it = current_; it != other.current_;
 
 
   59  return current_ == other.current_;
 
 
   63  current_ = other.current_;
 
   64  isNull_ = other.isNull_;
 
 
   68  const Value::CZString czstring = (*current_).first;
 
   69  if (czstring.data()) {
 
   70    if (czstring.isStaticString())
 
   72    return Value(czstring.data(), czstring.data() + czstring.length());
 
   74  return Value(czstring.index());
 
 
   78  const Value::CZString czstring = (*current_).first;
 
   80    return czstring.index();
 
 
   94  const char* cname = (*current_).first.data();
 
   95  return cname ? cname : 
"";
 
 
   99  const char* cname = (*current_).first.data();
 
  104  *end = cname + (*current_).first.length();
 
  119    const Value::ObjectValues::iterator& current)
 
  120    : ValueIteratorBase(current) {}
 
  146  throwRuntimeError(
"ConstIterator to Iterator should never be allowed.");
 
 
Lightweight wrapper to tag static string.
const iterator for object and array value.
SelfType & operator=(const ValueIteratorBase &other)
base class for Value iterators.
bool isEqual(const SelfType &other) const
Value key() const
Return either the index or the member name of the referenced value as a Value.
char const * memberName(char const **end) const
Return the member name of the referenced Value, or NULL if it is not an objectValue.
void copy(const SelfType &other)
UInt index() const
Return the index of the referenced Value, or -1 if it is not an arrayValue.
String name() const
Return the member name of the referenced Value, or "" if it is not an objectValue.
const Value & deref() const
difference_type computeDistance(const SelfType &other) const
Iterator for object and array value.
SelfType & operator=(const SelfType &other)
JSON (JavaScript Object Notation).
std::basic_string< char, std::char_traits< char >, Allocator< char > > String