forked from boostorg/unordered
Missing copy_iterator methods.
[SVN r66137]
This commit is contained in:
@ -95,17 +95,20 @@ namespace test
|
|||||||
value_type* operator->() const {
|
value_type* operator->() const {
|
||||||
return &*base_;
|
return &*base_;
|
||||||
}
|
}
|
||||||
|
value_type operator[](difference_type d) {
|
||||||
|
return base_[d];
|
||||||
|
}
|
||||||
copy_iterator_adaptor& operator++() {
|
copy_iterator_adaptor& operator++() {
|
||||||
++base_; return *this;
|
++base_; return *this;
|
||||||
}
|
}
|
||||||
copy_iterator_adaptor operator++(int) {
|
copy_iterator_adaptor operator++(int) {
|
||||||
copy_iterator_adaptor tmp(*this); ++base_; return tmp;
|
copy_iterator_adaptor tmp(*this); ++base_; return tmp;
|
||||||
}
|
}
|
||||||
bool operator==(copy_iterator_adaptor const& x) const {
|
copy_iterator_adaptor& operator--() {
|
||||||
return base_ == x.base_;
|
--base_; return *this;
|
||||||
}
|
}
|
||||||
bool operator!=(copy_iterator_adaptor const& x) const {
|
copy_iterator_adaptor operator--(int) {
|
||||||
return base_ != x.base_;
|
copy_iterator_adaptor tmp(*this); --base_; return tmp;
|
||||||
}
|
}
|
||||||
copy_iterator_adaptor operator+=(difference_type x) {
|
copy_iterator_adaptor operator+=(difference_type x) {
|
||||||
base_ += x;
|
base_ += x;
|
||||||
@ -115,9 +118,37 @@ namespace test
|
|||||||
base_ -= x;
|
base_ -= x;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
copy_iterator_adaptor operator+(difference_type n) {
|
||||||
|
return copy_iterator_adaptor(base_+n);
|
||||||
|
}
|
||||||
|
copy_iterator_adaptor operator-(difference_type n) {
|
||||||
|
return copy_iterator_adaptor(base_-n);
|
||||||
|
}
|
||||||
|
friend copy_iterator_adaptor operator+(
|
||||||
|
difference_type n, copy_iterator_adaptor x) {
|
||||||
|
return x+n;
|
||||||
|
}
|
||||||
difference_type operator-(copy_iterator_adaptor const& other) {
|
difference_type operator-(copy_iterator_adaptor const& other) {
|
||||||
return base_-other.base_;
|
return base_-other.base_;
|
||||||
}
|
}
|
||||||
|
bool operator==(copy_iterator_adaptor const& x) const {
|
||||||
|
return base_ == x.base_;
|
||||||
|
}
|
||||||
|
bool operator!=(copy_iterator_adaptor const& x) const {
|
||||||
|
return base_ != x.base_;
|
||||||
|
}
|
||||||
|
bool operator<(copy_iterator_adaptor const& x) const {
|
||||||
|
return base_ < x.base_;
|
||||||
|
}
|
||||||
|
bool operator>(copy_iterator_adaptor const& x) const {
|
||||||
|
return base_ > x.base_;
|
||||||
|
}
|
||||||
|
bool operator<=(copy_iterator_adaptor const& x) const {
|
||||||
|
return base_ <= x.base_;
|
||||||
|
}
|
||||||
|
bool operator>=(copy_iterator_adaptor const& x) const {
|
||||||
|
return base_ >= x.base_;
|
||||||
|
}
|
||||||
private:
|
private:
|
||||||
Iterator base_;
|
Iterator base_;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user