sick_visionary_cpp_shared
3pp
boost
move
detail
meta_utils_core.hpp
Go to the documentation of this file.
1
//
3
// (C) Copyright Ion Gaztanaga 2015-2015.
4
// Distributed under the Boost Software License, Version 1.0.
5
// (See accompanying file LICENSE_1_0.txt or copy at
6
// http://www.boost.org/LICENSE_1_0.txt)
7
//
8
// See http://www.boost.org/libs/move for documentation.
9
//
11
13
14
#ifndef BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP
15
#define BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP
16
17
#ifndef BOOST_CONFIG_HPP
18
# include <
boost/config.hpp
>
19
#endif
20
#
21
#if defined(BOOST_HAS_PRAGMA_ONCE)
22
# pragma once
23
#endif
24
25
//Small meta-typetraits to support move
26
27
namespace
boost
{
28
namespace
move_detail {
29
31
// if_c
33
template
<
bool
C,
typename
T1,
typename
T2>
34
struct
if_c
35
{
36
typedef
T1
type
;
37
};
38
39
template
<
typename
T1,
typename
T2>
40
struct
if_c
<false,T1,T2>
41
{
42
typedef
T2
type
;
43
};
44
46
// if_
48
template
<
typename
T1,
typename
T2,
typename
T3>
49
struct
if_
:
if_c
<0 != T1::value, T2, T3>
50
{};
51
53
// enable_if_c
55
template
<
bool
B,
class
T =
void
>
56
struct
enable_if_c
57
{
58
typedef
T
type
;
59
};
60
61
template
<
class
T>
62
struct
enable_if_c
<false,
T
> {};
63
65
// enable_if
67
template
<
class
Cond,
class
T =
void
>
68
struct
enable_if
:
enable_if_c
<Cond::value, T> {};
69
71
// disable_if_c
73
template
<
bool
B,
class
T =
void
>
74
struct
disable_if_c
75
:
enable_if_c
<!B, T>
76
{};
77
79
// disable_if
81
template
<
class
Cond,
class
T =
void
>
82
struct
disable_if
:
enable_if_c
<!Cond::value, T> {};
83
85
// integral_constant
87
template
<
class
T, T v>
88
struct
integral_constant
89
{
90
static
const
T
value
= v;
91
typedef
T
value_type
;
92
typedef
integral_constant<T, v>
type
;
93
94
operator
T
()
const
{
return
value
; }
95
T
operator()
()
const
{
return
value
; }
96
};
97
98
typedef
integral_constant<bool, true >
true_type
;
99
typedef
integral_constant<bool, false >
false_type
;
100
101
103
// is_same
105
template
<
class
T,
class
U>
106
struct
is_same
107
{
108
static
const
bool
value
=
false
;
109
};
110
111
template
<
class
T>
112
struct
is_same
<
T
,
T
>
113
{
114
static
const
bool
value
=
true
;
115
};
116
118
// enable_if_same
120
template
<
class
T,
class
U,
class
R =
void
>
121
struct
enable_if_same
:
enable_if
<is_same<T, U>, R> {};
122
124
// disable_if_same
126
template
<
class
T,
class
U,
class
R =
void
>
127
struct
disable_if_same
:
disable_if
<is_same<T, U>, R> {};
128
129
}
//namespace move_detail {
130
}
//namespace boost {
131
132
#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP
boost::move_detail::integral_constant::value_type
T value_type
Definition:
meta_utils_core.hpp:91
boost::move_detail::if_
Definition:
meta_utils_core.hpp:49
boost::move_detail::if_c
Definition:
meta_utils_core.hpp:34
T
T
Definition:
mem_fn_cc.hpp:25
config.hpp
boost::move_detail::integral_constant
Definition:
meta_utils_core.hpp:88
boost::move_detail::if_c< false, T1, T2 >::type
T2 type
Definition:
meta_utils_core.hpp:42
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::move_detail::integral_constant::value
static const T value
Definition:
meta_utils_core.hpp:90
boost::move_detail::if_c::type
T1 type
Definition:
meta_utils_core.hpp:36
boost::move_detail::enable_if_same
Definition:
meta_utils_core.hpp:121
boost::move_detail::true_type
integral_constant< bool, true > true_type
Definition:
meta_utils_core.hpp:98
boost::move_detail::enable_if_c
Definition:
meta_utils_core.hpp:56
boost::move_detail::disable_if
Definition:
meta_utils_core.hpp:82
boost::move_detail::integral_constant::type
integral_constant< T, v > type
Definition:
meta_utils_core.hpp:92
boost::move_detail::disable_if_same
Definition:
meta_utils_core.hpp:127
boost::move_detail::disable_if_c
Definition:
meta_utils_core.hpp:74
boost::move_detail::false_type
integral_constant< bool, false > false_type
Definition:
meta_utils_core.hpp:99
boost::move_detail::is_same::value
static const bool value
Definition:
meta_utils_core.hpp:108
boost::move_detail::enable_if
Definition:
meta_utils_core.hpp:68
boost::move_detail::integral_constant::operator()
T operator()() const
Definition:
meta_utils_core.hpp:95
boost::move_detail::is_same
Definition:
meta_utils_core.hpp:106
boost::move_detail::enable_if_c::type
T type
Definition:
meta_utils_core.hpp:58
boost::integral_constant< bool, false >
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:44:22