tmp/tmpmc_0jqpj/{from.md → to.md}
RENAMED
|
@@ -50,27 +50,21 @@ reference operator*() const;
|
|
| 50 |
```
|
| 51 |
|
| 52 |
*Effects:*
|
| 53 |
|
| 54 |
``` cpp
|
| 55 |
-
|
| 56 |
-
--
|
| 57 |
-
return *deref_tmp;
|
| 58 |
```
|
| 59 |
|
| 60 |
-
This operation must use an auxiliary member variable rather than a
|
| 61 |
-
temporary variable to avoid returning a reference that persists beyond
|
| 62 |
-
the lifetime of its associated iterator.
|
| 63 |
-
(See [[iterator.requirements]].)
|
| 64 |
-
|
| 65 |
##### `operator->` <a id="reverse.iter.opref">[[reverse.iter.opref]]</a>
|
| 66 |
|
| 67 |
``` cpp
|
| 68 |
pointer operator->() const;
|
| 69 |
```
|
| 70 |
|
| 71 |
-
*Returns:* `
|
| 72 |
|
| 73 |
##### `operator++` <a id="reverse.iter.op++">[[reverse.iter.op++]]</a>
|
| 74 |
|
| 75 |
``` cpp
|
| 76 |
reverse_iterator& operator++();
|
|
@@ -233,11 +227,11 @@ template <class Iterator1, class Iterator2>
|
|
| 233 |
|
| 234 |
``` cpp
|
| 235 |
template <class Iterator1, class Iterator2>
|
| 236 |
auto operator-(
|
| 237 |
const reverse_iterator<Iterator1>& x,
|
| 238 |
-
const reverse_iterator<Iterator2>& y) -> decltype(y.
|
| 239 |
```
|
| 240 |
|
| 241 |
*Returns:* `y.current - x.current`.
|
| 242 |
|
| 243 |
##### `operator+` <a id="reverse.iter.opsum">[[reverse.iter.opsum]]</a>
|
|
@@ -249,5 +243,14 @@ template <class Iterator>
|
|
| 249 |
const reverse_iterator<Iterator>& x);
|
| 250 |
```
|
| 251 |
|
| 252 |
*Returns:* `reverse_iterator<Iterator> (x.current - n)`.
|
| 253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
```
|
| 51 |
|
| 52 |
*Effects:*
|
| 53 |
|
| 54 |
``` cpp
|
| 55 |
+
Iterator tmp = current;
|
| 56 |
+
return *--tmp;
|
|
|
|
| 57 |
```
|
| 58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
##### `operator->` <a id="reverse.iter.opref">[[reverse.iter.opref]]</a>
|
| 60 |
|
| 61 |
``` cpp
|
| 62 |
pointer operator->() const;
|
| 63 |
```
|
| 64 |
|
| 65 |
+
*Returns:* `std::addressof(operator*())`.
|
| 66 |
|
| 67 |
##### `operator++` <a id="reverse.iter.op++">[[reverse.iter.op++]]</a>
|
| 68 |
|
| 69 |
``` cpp
|
| 70 |
reverse_iterator& operator++();
|
|
|
|
| 227 |
|
| 228 |
``` cpp
|
| 229 |
template <class Iterator1, class Iterator2>
|
| 230 |
auto operator-(
|
| 231 |
const reverse_iterator<Iterator1>& x,
|
| 232 |
+
const reverse_iterator<Iterator2>& y) -> decltype(y.base() - x.base());
|
| 233 |
```
|
| 234 |
|
| 235 |
*Returns:* `y.current - x.current`.
|
| 236 |
|
| 237 |
##### `operator+` <a id="reverse.iter.opsum">[[reverse.iter.opsum]]</a>
|
|
|
|
| 243 |
const reverse_iterator<Iterator>& x);
|
| 244 |
```
|
| 245 |
|
| 246 |
*Returns:* `reverse_iterator<Iterator> (x.current - n)`.
|
| 247 |
|
| 248 |
+
##### Non-member function `make_reverse_iterator()` <a id="reverse.iter.make">[[reverse.iter.make]]</a>
|
| 249 |
+
|
| 250 |
+
``` cpp
|
| 251 |
+
template <class Iterator>
|
| 252 |
+
reverse_iterator<Iterator> make_reverse_iterator(Iterator i);
|
| 253 |
+
```
|
| 254 |
+
|
| 255 |
+
*Returns:* `reverse_iterator<Iterator>(i)`.
|
| 256 |
+
|