sick_visionary_cpp_shared
3pp
boost
smart_ptr
detail
sp_forward.hpp
Go to the documentation of this file.
1
#ifndef BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
2
#define BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
3
4
// MS compatible compilers support #pragma once
5
6
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
7
# pragma once
8
#endif
9
10
// detail/sp_forward.hpp
11
//
12
// Copyright 2008,2012 Peter Dimov
13
//
14
// Distributed under the Boost Software License, Version 1.0.
15
// See accompanying file LICENSE_1_0.txt or copy at
16
// http://www.boost.org/LICENSE_1_0.txt
17
18
#include <
boost/config.hpp
>
19
20
namespace
boost
21
{
22
23
namespace
detail
24
{
25
26
#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
27
28
#if defined( BOOST_GCC ) && __GNUC__ * 100 + __GNUC_MINOR__ <= 404
29
30
// GCC 4.4 supports an outdated version of rvalue references and creates a copy of the forwarded object.
31
// This results in warnings 'returning reference to temporary'. Therefore we use a special version similar to std::forward.
32
template
<
class
T >
T
&&
sp_forward
(
T
&& t )
BOOST_NOEXCEPT
33
{
34
return
t;
35
}
36
37
#else
38
39
template
<
class
T >
T
&&
sp_forward
(
T
& t )
BOOST_NOEXCEPT
40
{
41
return
static_cast<
T
&&
>
( t );
42
}
43
44
#endif
45
46
#endif
47
48
}
// namespace detail
49
50
}
// namespace boost
51
52
#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
T
T
Definition:
mem_fn_cc.hpp:25
config.hpp
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::detail::sp_forward
T && sp_forward(T &t) BOOST_NOEXCEPT
Definition:
sp_forward.hpp:39
BOOST_NOEXCEPT
#define BOOST_NOEXCEPT
Definition:
suffix.hpp:938
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:40