Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
i
k
n
p
r
s
t
v
Typedefs
a
b
c
f
h
i
m
n
p
s
t
u
w
y
Enumerations
Enumerator
a
b
c
e
f
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
Enumerator
a
b
c
e
g
i
k
l
m
n
o
p
r
s
u
v
Related Functions
a
b
c
d
e
i
l
m
o
r
s
u
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
g
m
o
p
r
s
t
Variables
_
a
b
f
g
l
t
u
Typedefs
Enumerations
Enumerator
Macros
_
a
b
c
e
f
g
i
l
m
r
s
u
v
w
x
sick_visionary_cpp_shared
3pp
boost
iterator
iterator/reverse_iterator.hpp
Go to the documentation of this file.
1
// (C) Copyright David Abrahams 2002.
2
// (C) Copyright Jeremy Siek 2002.
3
// (C) Copyright Thomas Witt 2002.
4
// Distributed under the Boost Software License, Version 1.0. (See
5
// accompanying file LICENSE_1_0.txt or copy at
6
// http://www.boost.org/LICENSE_1_0.txt)
7
#ifndef BOOST_REVERSE_ITERATOR_23022003THW_HPP
8
#define BOOST_REVERSE_ITERATOR_23022003THW_HPP
9
10
#include <
boost/next_prior.hpp
>
11
#include <
boost/iterator.hpp
>
12
#include <
boost/iterator/iterator_adaptor.hpp
>
13
14
namespace
boost
{
15
namespace
iterators {
16
17
//
18
//
19
//
20
template
<
class
Iterator>
21
class
reverse_iterator
22
:
public
iterator_adaptor
< reverse_iterator<Iterator>, Iterator >
23
{
24
typedef
iterator_adaptor< reverse_iterator<Iterator>
, Iterator >
super_t
;
25
26
friend
class
iterator_core_access
;
27
28
public
:
29
reverse_iterator
() {}
30
31
explicit
reverse_iterator
(Iterator x)
32
:
super_t
(x) {}
33
34
template
<
class
OtherIterator>
35
reverse_iterator
(
36
reverse_iterator<OtherIterator>
const
& r
37
,
typename
enable_if_convertible<OtherIterator, Iterator>::type
* = 0
38
)
39
:
super_t
(r.
base
())
40
{}
41
42
private
:
43
typename
super_t::reference
dereference
()
const
{
return
*
boost::prior
(this->
base
()); }
44
45
void
increment
() { --this->
base_reference
(); }
46
void
decrement
() { ++this->
base_reference
(); }
47
48
void
advance
(
typename
super_t::difference_type n)
49
{
50
this->
base_reference
() += -n;
51
}
52
53
template
<
class
OtherIterator>
54
typename
super_t::difference_type
55
distance_to
(
reverse_iterator<OtherIterator>
const
& y)
const
56
{
57
return
this->
base_reference
() - y.
base
();
58
}
59
};
60
61
template
<
class
B
id
irectionalIterator>
62
inline
reverse_iterator<BidirectionalIterator>
make_reverse_iterator
(BidirectionalIterator x)
63
{
64
return
reverse_iterator<BidirectionalIterator>
(x);
65
}
66
67
}
// namespace iterators
68
69
using
iterators::reverse_iterator;
70
using
iterators::make_reverse_iterator
;
71
72
}
// namespace boost
73
74
#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP
iterator.hpp
boost::iterators::iterator_core_access
Definition:
iterator_facade.hpp:496
boost::iterators::reverse_iterator::increment
void increment()
Definition:
iterator/reverse_iterator.hpp:45
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::iterators::reverse_iterator::reverse_iterator
reverse_iterator()
Definition:
iterator/reverse_iterator.hpp:29
boost::iterators::reverse_iterator::super_t
iterator_adaptor< reverse_iterator< Iterator >, Iterator > super_t
Definition:
iterator/reverse_iterator.hpp:24
boost::iterators::make_reverse_iterator
reverse_iterator< BidirectionalIterator > make_reverse_iterator(BidirectionalIterator x)
Definition:
iterator/reverse_iterator.hpp:62
boost::iterators::reverse_iterator::advance
void advance(typename super_t::difference_type n)
Definition:
iterator/reverse_iterator.hpp:48
next_prior.hpp
boost::iterators::reverse_iterator
Definition:
iterator/reverse_iterator.hpp:21
boost::iterators::iterator_adaptor
Definition:
iterator_adaptor.hpp:251
boost::iterators::iterator_adaptor< reverse_iterator< Iterator >, Iterator >::base
Iterator const & base() const
Definition:
iterator_adaptor.hpp:272
boost::iterators::enable_if_convertible
Definition:
iterator_adaptor.hpp:133
boost::iterators::reverse_iterator::dereference
super_t::reference dereference() const
Definition:
iterator/reverse_iterator.hpp:43
boost::iterators::iterator_facade
Definition:
iterator_facade.hpp:47
iterator_adaptor.hpp
boost::prior
T prior(T x)
Definition:
next_prior.hpp:155
boost::iterators::reverse_iterator::reverse_iterator
reverse_iterator(reverse_iterator< OtherIterator > const &r, typename enable_if_convertible< OtherIterator, Iterator >::type *=0)
Definition:
iterator/reverse_iterator.hpp:35
boost::iterators::iterator_adaptor< reverse_iterator< Iterator >, Iterator >::base_reference
Iterator const & base_reference() const
Definition:
iterator_adaptor.hpp:282
boost::iterators::reverse_iterator::decrement
void decrement()
Definition:
iterator/reverse_iterator.hpp:46
boost::iterators::reverse_iterator::reverse_iterator
reverse_iterator(Iterator x)
Definition:
iterator/reverse_iterator.hpp:31
boost::iterators::reverse_iterator::distance_to
super_t::difference_type distance_to(reverse_iterator< OtherIterator > const &y) const
Definition:
iterator/reverse_iterator.hpp:55
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:46:45