sick_visionary_cpp_shared
3pp
boost
type_traits
is_lvalue_reference.hpp
Go to the documentation of this file.
1
2
// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
3
// Howard Hinnant and John Maddock 2000.
4
// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
5
6
// Use, modification and distribution are subject to the Boost Software License,
7
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
8
// http://www.boost.org/LICENSE_1_0.txt).
9
//
10
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
11
12
// Fixed is_pointer, is_lvalue_reference, is_const, is_volatile, is_same,
13
// is_member_pointer based on the Simulated Partial Specialization work
14
// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
15
// http://groups.yahoo.com/group/boost/message/5441
16
// Some workarounds in here use ideas suggested from "Generic<Programming>:
17
// Mappings between Types and Values"
18
// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
19
20
21
#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
22
#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
23
24
#include <
boost/type_traits/integral_constant.hpp
>
25
26
namespace
boost
{
27
28
#if defined( __CODEGEARC__ )
29
template
<
class
T>
struct
is_lvalue_reference :
public
integral_constant<bool, __is_reference(T)>{};
30
#else
31
32
template
<
class
T>
struct
is_lvalue_reference
:
public
false_type
{};
33
template
<
class
T>
struct
is_lvalue_reference
<
T
&> :
public
true_type
{};
34
35
#if defined(BOOST_ILLEGAL_CV_REFERENCES)
36
// these are illegal specialisations; cv-qualifies applied to
37
// references have no effect according to [8.3.2p1],
38
// C++ Builder requires them though as it treats cv-qualified
39
// references as distinct types...
40
template
<
class
T>
struct
is_lvalue_reference
<
T
&
const
> :
public
true_type
{};
41
template
<
class
T>
struct
is_lvalue_reference<
T
&
volatile
> :
public
true_type
{};
42
template
<
class
T>
struct
is_lvalue_reference<
T
&
const
volatile
> :
public
true_type
{};
43
#endif
44
45
#endif
46
47
}
// namespace boost
48
49
#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
50
boost::is_lvalue_reference
Definition:
is_lvalue_reference.hpp:32
T
T
Definition:
mem_fn_cc.hpp:25
integral_constant.hpp
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::true_type
integral_constant< bool, true > true_type
Definition:
integral_constant.hpp:101
boost::integral_constant< bool, false >
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:40:00