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
interoperable.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_INTEROPERABLE_23022003THW_HPP
8
# define BOOST_INTEROPERABLE_23022003THW_HPP
9
10
# include <
boost/mpl/bool.hpp
>
11
# include <
boost/mpl/or.hpp
>
12
13
# include <
boost/type_traits/is_convertible.hpp
>
14
15
# include <
boost/iterator/detail/config_def.hpp
>
// must appear last
16
17
namespace
boost
{
18
namespace
iterators {
19
20
//
21
// Meta function that determines whether two
22
// iterator types are considered interoperable.
23
//
24
// Two iterator types A,B are considered interoperable if either
25
// A is convertible to B or vice versa.
26
// This interoperability definition is in sync with the
27
// standards requirements on constant/mutable container
28
// iterators (23.1 [lib.container.requirements]).
29
//
30
// For compilers that don't support is_convertible
31
// is_interoperable gives false positives. See comments
32
// on operator implementation for consequences.
33
//
34
template
<
typename
A,
typename
B>
35
struct
is_interoperable
36
# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
37
:
mpl::true_
38
# else
39
:
mpl::or_
<
40
is_convertible< A, B >
41
, is_convertible< B, A > >
42
# endif
43
{
44
};
45
46
}
// namespace iterators
47
48
using
iterators::is_interoperable
;
49
50
}
// namespace boost
51
52
# include <
boost/iterator/detail/config_undef.hpp
>
53
54
#endif // BOOST_INTEROPERABLE_23022003THW_HPP
is_convertible.hpp
boost::iterators::is_interoperable
Definition:
interoperable.hpp:35
bool.hpp
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
config_def.hpp
boost::mpl::or_
Definition:
aux_/preprocessed/bcc/or.hpp:48
config_undef.hpp
true_
bool_< true > true_
Definition:
bool_fwd.hpp:21
or.hpp
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:39:59