From Jason Turner

[iterator.synopsis]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp9fip55xj/{from.md → to.md} +20 -3
tmp/tmp9fip55xj/{from.md → to.md} RENAMED
@@ -64,10 +64,13 @@ namespace std {
64
  reverse_iterator<Iterator>
65
  operator+(
66
  typename reverse_iterator<Iterator>::difference_type n,
67
  const reverse_iterator<Iterator>& x);
68
 
 
 
 
69
  template <class Container> class back_insert_iterator;
70
  template <class Container>
71
  back_insert_iterator<Container> back_inserter(Container& x);
72
 
73
  template <class Container> class front_insert_iterator;
@@ -104,11 +107,11 @@ namespace std {
104
  const move_iterator<Iterator2>& y) -> decltype(x.base() - y.base());
105
  template <class Iterator>
106
  move_iterator<Iterator> operator+(
107
  typename move_iterator<Iterator>::difference_type n, const move_iterator<Iterator>& x);
108
  template <class Iterator>
109
- move_iterator<Iterator> make_move_iterator(const Iterator& i);
110
 
111
  // [stream.iterators], stream iterators:
112
  template <class T, class charT = char, class traits = char_traits<charT>,
113
  class Distance = ptrdiff_t>
114
  class istream_iterator;
@@ -137,10 +140,24 @@ namespace std {
137
  // [iterator.range], range access:
138
  template <class C> auto begin(C& c) -> decltype(c.begin());
139
  template <class C> auto begin(const C& c) -> decltype(c.begin());
140
  template <class C> auto end(C& c) -> decltype(c.end());
141
  template <class C> auto end(const C& c) -> decltype(c.end());
142
- template <class T, size_t N> T* begin(T (&array)[N]);
143
- template <class T, size_t N> T* end(T (&array)[N]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  }
145
  ```
146
 
 
64
  reverse_iterator<Iterator>
65
  operator+(
66
  typename reverse_iterator<Iterator>::difference_type n,
67
  const reverse_iterator<Iterator>& x);
68
 
69
+ template <class Iterator>
70
+ reverse_iterator<Iterator> make_reverse_iterator(Iterator i);
71
+
72
  template <class Container> class back_insert_iterator;
73
  template <class Container>
74
  back_insert_iterator<Container> back_inserter(Container& x);
75
 
76
  template <class Container> class front_insert_iterator;
 
107
  const move_iterator<Iterator2>& y) -> decltype(x.base() - y.base());
108
  template <class Iterator>
109
  move_iterator<Iterator> operator+(
110
  typename move_iterator<Iterator>::difference_type n, const move_iterator<Iterator>& x);
111
  template <class Iterator>
112
+ move_iterator<Iterator> make_move_iterator(Iterator i);
113
 
114
  // [stream.iterators], stream iterators:
115
  template <class T, class charT = char, class traits = char_traits<charT>,
116
  class Distance = ptrdiff_t>
117
  class istream_iterator;
 
140
  // [iterator.range], range access:
141
  template <class C> auto begin(C& c) -> decltype(c.begin());
142
  template <class C> auto begin(const C& c) -> decltype(c.begin());
143
  template <class C> auto end(C& c) -> decltype(c.end());
144
  template <class C> auto end(const C& c) -> decltype(c.end());
145
+ template <class T, size_t N> constexpr T* begin(T (&array)[N]) noexcept;
146
+ template <class T, size_t N> constexpr T* end(T (&array)[N]) noexcept;
147
+ template <class C> constexpr auto cbegin(const C& c) noexcept(noexcept(std::begin(c)))
148
+ -> decltype(std::begin(c));
149
+ template <class C> constexpr auto cend(const C& c) noexcept(noexcept(std::end(c)))
150
+ -> decltype(std::end(c));
151
+ template <class C> auto rbegin(C& c) -> decltype(c.rbegin());
152
+ template <class C> auto rbegin(const C& c) -> decltype(c.rbegin());
153
+ template <class C> auto rend(C& c) -> decltype(c.rend());
154
+ template <class C> auto rend(const C& c) -> decltype(c.rend());
155
+ template <class T, size_t N> reverse_iterator<T*> rbegin(T (&array)[N]);
156
+ template <class T, size_t N> reverse_iterator<T*> rend(T (&array)[N]);
157
+ template <class E> reverse_iterator<const E*> rbegin(initializer_list<E> il);
158
+ template <class E> reverse_iterator<const E*> rend(initializer_list<E> il);
159
+ template <class C> auto crbegin(const C& c) -> decltype(std::rbegin(c));
160
+ template <class C> auto crend(const C& c) -> decltype(std::rend(c));
161
  }
162
  ```
163