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
range
mutable_iterator.hpp
Go to the documentation of this file.
1
// Boost.Range library
2
//
3
// Copyright Thorsten Ottosen 2003-2004. Use, modification and
4
// distribution is subject to the Boost Software License, Version
5
// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
// http://www.boost.org/LICENSE_1_0.txt)
7
//
8
// For more information, see http://www.boost.org/libs/range/
9
//
10
11
#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP
12
#define BOOST_RANGE_MUTABLE_ITERATOR_HPP
13
14
#if defined(_MSC_VER)
15
# pragma once
16
#endif
17
18
#include <
boost/range/config.hpp
>
19
20
#include <
boost/range/range_fwd.hpp
>
21
#include <
boost/range/detail/extract_optional_type.hpp
>
22
#include <
boost/type_traits/remove_reference.hpp
>
23
#include <
boost/iterator/iterator_traits.hpp
>
24
#include <cstddef>
25
#include <utility>
26
27
namespace
boost
28
{
29
31
// default
33
34
namespace
range_detail
35
{
36
37
BOOST_RANGE_EXTRACT_OPTIONAL_TYPE
( iterator )
38
39
template
<
typename
C >
40
struct
range_mutable_iterator
41
: range_detail::extract_iterator<
42
BOOST_DEDUCED_TYPENAME remove_reference<C>::type>
43
{};
44
46
// pair
48
49
template
<
typename
Iterator >
50
struct
range_mutable_iterator
<
std
::pair<Iterator,Iterator> >
51
{
52
typedef
Iterator
type
;
53
};
54
56
// array
58
59
template
<
typename
T, std::
size_t
sz >
60
struct
range_mutable_iterator
<
T
[sz] >
61
{
62
typedef
T
*
type
;
63
};
64
65
}
// namespace range_detail
66
67
template
<
typename
C,
typename
Enabler=
void
>
68
struct
range_mutable_iterator
69
:
range_detail::range_mutable_iterator
<
70
BOOST_DEDUCED_TYPENAME remove_reference<C>::type
71
>
72
{
73
};
74
75
}
// namespace boost
76
77
#include <
boost/range/detail/msvc_has_iterator_workaround.hpp
>
78
79
#endif
iterator_traits.hpp
BOOST_RANGE_EXTRACT_OPTIONAL_TYPE
#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE(a_typedef)
Definition:
extract_optional_type.hpp:26
remove_reference.hpp
boost::range_detail::range_mutable_iterator< T[sz] >::type
T * type
Definition:
mutable_iterator.hpp:62
T
T
Definition:
mem_fn_cc.hpp:25
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
msvc_has_iterator_workaround.hpp
boost::range_mutable_iterator
Definition:
mutable_iterator.hpp:68
range_fwd.hpp
extract_optional_type.hpp
boost::range_detail::range_mutable_iterator
Definition:
mutable_iterator.hpp:40
std
config.hpp
boost::range_detail::range_mutable_iterator< std::pair< Iterator, Iterator > >::type
Iterator type
Definition:
mutable_iterator.hpp:52
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:45:32