From Jason Turner

[reverse.iterator]

Diff to HTML by rtfpessoa

tmp/tmpcn4rvufm/{from.md → to.md} RENAMED
@@ -34,12 +34,10 @@ namespace std {
34
  reverse_iterator operator- (difference_type n) const;
35
  reverse_iterator& operator-=(difference_type n);
36
  unspecified operator[](difference_type n) const;
37
  protected:
38
  Iterator current;
39
- private:
40
- Iterator deref_tmp; // exposition only
41
  };
42
 
43
  template <class Iterator1, class Iterator2>
44
  bool operator==(
45
  const reverse_iterator<Iterator1>& x,
@@ -65,13 +63,16 @@ namespace std {
65
  const reverse_iterator<Iterator1>& x,
66
  const reverse_iterator<Iterator2>& y);
67
  template <class Iterator1, class Iterator2>
68
  auto operator-(
69
  const reverse_iterator<Iterator1>& x,
70
- const reverse_iterator<Iterator2>& y) -> decltype(y.current - x.current);
71
  template <class Iterator>
72
  reverse_iterator<Iterator> operator+(
73
  typename reverse_iterator<Iterator>::difference_type n,
74
  const reverse_iterator<Iterator>& x);
 
 
 
75
  }
76
  ```
77
 
 
34
  reverse_iterator operator- (difference_type n) const;
35
  reverse_iterator& operator-=(difference_type n);
36
  unspecified operator[](difference_type n) const;
37
  protected:
38
  Iterator current;
 
 
39
  };
40
 
41
  template <class Iterator1, class Iterator2>
42
  bool operator==(
43
  const reverse_iterator<Iterator1>& x,
 
63
  const reverse_iterator<Iterator1>& x,
64
  const reverse_iterator<Iterator2>& y);
65
  template <class Iterator1, class Iterator2>
66
  auto operator-(
67
  const reverse_iterator<Iterator1>& x,
68
+ const reverse_iterator<Iterator2>& y) -> decltype(y.base() - x.base());
69
  template <class Iterator>
70
  reverse_iterator<Iterator> operator+(
71
  typename reverse_iterator<Iterator>::difference_type n,
72
  const reverse_iterator<Iterator>& x);
73
+
74
+ template <class Iterator>
75
+ reverse_iterator<Iterator> make_reverse_iterator(Iterator i);
76
  }
77
  ```
78