Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
24
Iterators library
[iterators]
24.5
Iterator adaptors
[predef.iterators]
24.5.1
Reverse iterators
[reverse.iterators]
24.5.1.2
Class template
reverse_
iterator
[reverse.iterator]
🔗
namespace
std
{
template
<
class
Iterator
>
class
reverse_iterator
{
public
:
using
iterator_type
=
Iterator;
using
iterator_concept
=
see below
;
using
iterator_category
=
see below
;
using
value_type
=
iter_value_t
<
Iterator
>
;
using
difference_type
=
iter_difference_t
<
Iterator
>
;
using
pointer
=
typename
iterator_traits
<
Iterator
>
::
pointer;
using
reference
=
iter_reference_t
<
Iterator
>
;
constexpr
reverse_iterator
(
)
;
constexpr
explicit
reverse_iterator
(
Iterator x
)
;
template
<
class
U
>
constexpr
reverse_iterator
(
const
reverse_iterator
<
U
>
&
u
)
;
template
<
class
U
>
constexpr
reverse_iterator
&
operator
=
(
const
reverse_iterator
<
U
>
&
u
)
;
constexpr
Iterator base
(
)
const
;
constexpr
reference
operator
*
(
)
const
;
constexpr
pointer
operator
-
>
(
)
const
requires
see below
;
constexpr
reverse_iterator
&
operator
+
+
(
)
;
constexpr
reverse_iterator
operator
+
+
(
int
)
;
constexpr
reverse_iterator
&
operator
-
-
(
)
;
constexpr
reverse_iterator
operator
-
-
(
int
)
;
constexpr
reverse_iterator
operator
+
(
difference_type n
)
const
;
constexpr
reverse_iterator
&
operator
+
=
(
difference_type n
)
;
constexpr
reverse_iterator
operator
-
(
difference_type n
)
const
;
constexpr
reverse_iterator
&
operator
-
=
(
difference_type n
)
;
constexpr
unspecified
operator
[
]
(
difference_type n
)
const
;
friend
constexpr
iter_rvalue_reference_t
<
Iterator
>
iter_move
(
const
reverse_iterator
&
i
)
noexcept
(
see below
)
;
template
<
indirectly_
swappable
<
Iterator
>
Iterator2
>
friend
constexpr
void
iter_swap
(
const
reverse_iterator
&
x,
const
reverse_iterator
<
Iterator2
>
&
y
)
noexcept
(
see below
)
;
protected
:
Iterator current;
}
;
}
1
#
The member
typedef-name
iterator_
concept
denotes
(1.1)
random_
access_
iterator_
tag
if
Iterator
models
random_
access_
iterator
, and
(1.2)
bidirectional_
iterator_
tag
otherwise
.
2
#
The member
typedef-name
iterator_
category
denotes
(2.1)
random_
access_
iterator_
tag
if the type
iterator_
traits
<
Iterator
>
::
iterator_
category
models
derived_
from
<
random_
access_
iterator_
tag
>
, and
(2.2)
iterator_
traits
<
Iterator
>
::
iterator_
category
otherwise
.