$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r66137 - trunk/libs/unordered/test/helpers
From: dnljms_at_[hidden]
Date: 2010-10-21 16:34:42
Author: danieljames
Date: 2010-10-21 16:34:39 EDT (Thu, 21 Oct 2010)
New Revision: 66137
URL: http://svn.boost.org/trac/boost/changeset/66137
Log:
Missing copy_iterator methods.
Text files modified: 
   trunk/libs/unordered/test/helpers/input_iterator.hpp |    39 +++++++++++++++++++++++++++++++++++---- 
   1 files changed, 35 insertions(+), 4 deletions(-)
Modified: trunk/libs/unordered/test/helpers/input_iterator.hpp
==============================================================================
--- trunk/libs/unordered/test/helpers/input_iterator.hpp	(original)
+++ trunk/libs/unordered/test/helpers/input_iterator.hpp	2010-10-21 16:34:39 EDT (Thu, 21 Oct 2010)
@@ -95,17 +95,20 @@
         value_type* operator->() const {
             return &*base_;
         }
+        value_type operator[](difference_type d) {
+            return base_[d];
+        }
         copy_iterator_adaptor& operator++() {
             ++base_; return *this;
         }
         copy_iterator_adaptor operator++(int) {
             copy_iterator_adaptor tmp(*this); ++base_; return tmp;
         }
-        bool operator==(copy_iterator_adaptor const& x) const {
-            return base_ == x.base_;
+        copy_iterator_adaptor& operator--() {
+            --base_; return *this;
         }
-        bool operator!=(copy_iterator_adaptor const& x) const {
-            return base_ != x.base_;
+        copy_iterator_adaptor operator--(int) {
+            copy_iterator_adaptor tmp(*this); --base_; return tmp;
         }
         copy_iterator_adaptor operator+=(difference_type x) {
             base_ += x;
@@ -115,9 +118,37 @@
             base_ -= x;
             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) {
             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:
         Iterator base_;
     };