From 3486a5d9bb892d6faa4bd16e18a19dbd83ab4d36 Mon Sep 17 00:00:00 2001 From: Kirk Shoop Date: Fri, 9 Jan 2015 07:33:28 -0800 Subject: [PATCH] add the std iterator typedefs to iterator and const_iterator --- src/json.cc | 64 ++++++++++++++++++++++++++--------------------------- src/json.h | 6 ++--- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/json.cc b/src/json.cc index 5cec2d09..4ea51bf9 100644 --- a/src/json.cc +++ b/src/json.cc @@ -1400,11 +1400,11 @@ json::iterator::iterator(json* j) : object_(j) { if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { vi_ = new array_t::iterator(object_->value_.array->begin()); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { oi_ = new object_t::iterator(object_->value_.object->begin()); } @@ -1415,11 +1415,11 @@ json::iterator::iterator(const json::iterator& o) : object_(o.object_) { if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { vi_ = new array_t::iterator(*(o.vi_)); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { oi_ = new object_t::iterator(*(o.oi_)); } @@ -1449,11 +1449,11 @@ bool json::iterator::operator==(const json::iterator& o) const if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { return (vi_ == o.vi_); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { return (oi_ == o.oi_); } @@ -1477,7 +1477,7 @@ json::iterator& json::iterator::operator++() switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { if (++(*vi_) == object_->value_.array->end()) { @@ -1485,7 +1485,7 @@ json::iterator& json::iterator::operator++() } break; } - case (value_type::object): + case (json::value_type::object): { if (++(*oi_) == object_->value_.object->end()) { @@ -1511,11 +1511,11 @@ json& json::iterator::operator*() const switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { return **vi_; } - case (value_type::object): + case (json::value_type::object): { return (*oi_)->second; } @@ -1536,11 +1536,11 @@ json* json::iterator::operator->() const switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { return &(**vi_); } - case (value_type::object): + case (json::value_type::object): { return &((*oi_)->second); } @@ -1553,7 +1553,7 @@ json* json::iterator::operator->() const std::string json::iterator::key() const { - if (object_ != nullptr and object_->type_ == value_type::object) + if (object_ != nullptr and object_->type_ == json::value_type::object) { return (*oi_)->first; } @@ -1573,11 +1573,11 @@ json& json::iterator::value() const switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { return **vi_; } - case (value_type::object): + case (json::value_type::object): { return (*oi_)->second; } @@ -1593,11 +1593,11 @@ json::const_iterator::const_iterator(const json* j) : object_(j) { if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { vi_ = new array_t::const_iterator(object_->value_.array->begin()); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { oi_ = new object_t::const_iterator(object_->value_.object->begin()); } @@ -1608,11 +1608,11 @@ json::const_iterator::const_iterator(const json::const_iterator& o) : object_(o. { if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { vi_ = new array_t::const_iterator(*(o.vi_)); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { oi_ = new object_t::const_iterator(*(o.oi_)); } @@ -1623,11 +1623,11 @@ json::const_iterator::const_iterator(const json::iterator& o) : object_(o.object { if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { vi_ = new array_t::const_iterator(*(o.vi_)); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { oi_ = new object_t::const_iterator(*(o.oi_)); } @@ -1657,11 +1657,11 @@ bool json::const_iterator::operator==(const json::const_iterator& o) const if (object_ != nullptr) { - if (object_->type_ == value_type::array) + if (object_->type_ == json::value_type::array) { return (vi_ == o.vi_); } - if (object_->type_ == value_type::object) + if (object_->type_ == json::value_type::object) { return (oi_ == o.oi_); } @@ -1685,7 +1685,7 @@ json::const_iterator& json::const_iterator::operator++() switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { if (++(*vi_) == object_->value_.array->end()) { @@ -1693,7 +1693,7 @@ json::const_iterator& json::const_iterator::operator++() } break; } - case (value_type::object): + case (json::value_type::object): { if (++(*oi_) == object_->value_.object->end()) { @@ -1719,11 +1719,11 @@ const json& json::const_iterator::operator*() const switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { return **vi_; } - case (value_type::object): + case (json::value_type::object): { return (*oi_)->second; } @@ -1744,11 +1744,11 @@ const json* json::const_iterator::operator->() const switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { return &(**vi_); } - case (value_type::object): + case (json::value_type::object): { return &((*oi_)->second); } @@ -1761,7 +1761,7 @@ const json* json::const_iterator::operator->() const std::string json::const_iterator::key() const { - if (object_ != nullptr and object_->type_ == value_type::object) + if (object_ != nullptr and object_->type_ == json::value_type::object) { return (*oi_)->first; } @@ -1781,11 +1781,11 @@ const json& json::const_iterator::value() const switch (object_->type_) { - case (value_type::array): + case (json::value_type::array): { return **vi_; } - case (value_type::object): + case (json::value_type::object): { return (*oi_)->second; } diff --git a/src/json.h b/src/json.h index abc1221c..3b282a66 100644 --- a/src/json.h +++ b/src/json.h @@ -324,7 +324,7 @@ class json public: /// an iterator - class iterator + class iterator : public std::iterator { friend class json; friend class json::const_iterator; @@ -356,7 +356,7 @@ class json }; /// a const iterator - class const_iterator + class const_iterator : public std::iterator { friend class json; @@ -364,7 +364,7 @@ class json const_iterator() = default; const_iterator(const json*); const_iterator(const const_iterator&); - const_iterator(const iterator&); + const_iterator(const json::iterator&); ~const_iterator(); const_iterator& operator=(const_iterator);