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
type_traits
add_rvalue_reference.hpp
Go to the documentation of this file.
1
// add_rvalue_reference.hpp ---------------------------------------------------------//
2
3
// Copyright 2010 Vicente J. Botet Escriba
4
5
// Distributed under the Boost Software License, Version 1.0.
6
// See http://www.boost.org/LICENSE_1_0.txt
7
8
#ifndef BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
9
#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
10
11
#include <
boost/config.hpp
>
12
13
//----------------------------------------------------------------------------//
14
15
#include <
boost/type_traits/is_void.hpp
>
16
#include <
boost/type_traits/is_reference.hpp
>
17
18
//----------------------------------------------------------------------------//
19
// //
20
// C++03 implementation of //
21
// 20.9.7.2 Reference modifications [meta.trans.ref] //
22
// Written by Vicente J. Botet Escriba //
23
// //
24
// If T names an object or function type then the member typedef type
25
// shall name T&&; otherwise, type shall name T. [ Note: This rule reflects
26
// the semantics of reference collapsing. For example, when a type T names
27
// a type T1&, the type add_rvalue_reference<T>::type is not an rvalue
28
// reference. -end note ]
29
//----------------------------------------------------------------------------//
30
31
namespace
boost
{
32
33
namespace
type_traits_detail {
34
35
template
<
typename
T,
bool
b>
36
struct
add_rvalue_reference_helper
37
{
typedef
T
type
; };
38
39
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
40
template
<
typename
T>
41
struct
add_rvalue_reference_helper
<
T
, true>
42
{
43
typedef
T
&&
type
;
44
};
45
#endif
46
47
template
<
typename
T>
48
struct
add_rvalue_reference_imp
49
{
50
typedef
typename
boost::type_traits_detail::add_rvalue_reference_helper
51
<
T
, (
is_void<T>::value
==
false
&&
is_reference<T>::value
==
false
) >::
type
type
;
52
};
53
54
}
55
56
template
<
class
T>
struct
add_rvalue_reference
57
{
58
typedef
typename
boost::type_traits_detail::add_rvalue_reference_imp<T>::type
type
;
59
};
60
61
}
// namespace boost
62
63
#endif // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
64
boost::type_traits_detail::add_rvalue_reference_imp::type
boost::type_traits_detail::add_rvalue_reference_helper< T,(is_void< T >::value==false &&is_reference< T >::value==false) >::type type
Definition:
add_rvalue_reference.hpp:51
T
T
Definition:
mem_fn_cc.hpp:25
config.hpp
boost::type_traits_detail::add_rvalue_reference_helper::type
T type
Definition:
add_rvalue_reference.hpp:37
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
is_reference.hpp
boost::add_rvalue_reference
Definition:
add_rvalue_reference.hpp:56
boost::type_traits_detail::add_rvalue_reference_helper< T, true >::type
T && type
Definition:
add_rvalue_reference.hpp:43
boost::is_void
Definition:
is_void.hpp:17
boost::is_reference
Definition:
is_reference.hpp:20
boost::type_traits_detail::add_rvalue_reference_imp
Definition:
add_rvalue_reference.hpp:48
is_void.hpp
boost::type_traits_detail::add_rvalue_reference_helper
Definition:
add_rvalue_reference.hpp:36
boost::add_rvalue_reference::type
boost::type_traits_detail::add_rvalue_reference_imp< T >::type type
Definition:
add_rvalue_reference.hpp:58
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:36:19