sick_visionary_cpp_shared
3pp
boost
mpl
aux_
preprocessed
msvc60
msvc60/shift_right.hpp
Go to the documentation of this file.
1
2
// Copyright Aleksey Gurtovoy 2000-2004
3
// Copyright Jaap Suter 2003
4
//
5
// Distributed under the Boost Software License, Version 1.0.
6
// (See accompanying file LICENSE_1_0.txt or copy at
7
// http://www.boost.org/LICENSE_1_0.txt)
8
//
9
10
// Preprocessed version of "boost/mpl/shift_right.hpp" header
11
// -- DO NOT modify by hand!
12
13
namespace
boost
{
namespace
mpl {
14
15
template
<
16
typename
Tag1
17
,
typename
Tag2
18
19
,
BOOST_MPL_AUX_NTTP_DECL
(
int
, tag1_) =
BOOST_MPL_AUX_MSVC_VALUE_WKND
(Tag1)::value
20
,
BOOST_MPL_AUX_NTTP_DECL
(int, tag2_) =
BOOST_MPL_AUX_MSVC_VALUE_WKND
(Tag2)::value
21
>
22
struct shift_right_impl
23
: if_c<
24
( tag1_ > tag2_ )
25
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
26
, aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
27
>::type
28
{
29
};
30
32
template
<>
struct
shift_right_impl< na,na >
33
{
34
template
<
typename
U1,
typename
U2 >
struct
apply
35
{
36
typedef
apply
type
;
37
BOOST_STATIC_CONSTANT
(
int
, value = 0);
38
};
39
};
40
41
template
<>
struct
shift_right_impl< na,integral_c_tag >
42
{
43
template
<
typename
U1,
typename
U2 >
struct
apply
44
{
45
typedef
apply
type
;
46
BOOST_STATIC_CONSTANT
(
int
, value = 0);
47
};
48
};
49
50
template
<>
struct
shift_right_impl< integral_c_tag,na >
51
{
52
template
<
typename
U1,
typename
U2 >
struct
apply
53
{
54
typedef
apply
type
;
55
BOOST_STATIC_CONSTANT
(
int
, value = 0);
56
};
57
};
58
59
template
<
typename
T >
struct
shift_right_tag
60
{
61
typedef
typename
T::tag
type
;
62
};
63
64
template
<
65
typename
BOOST_MPL_AUX_NA_PARAM
(N1)
66
,
typename
BOOST_MPL_AUX_NA_PARAM
(N2)
67
>
68
struct
shift_right
69
:
aux::msvc_eti_base
< typename apply_wrap2<
70
shift_right_impl<
71
typename shift_right_tag<N1>::type
72
, typename shift_right_tag<N2>::type
73
>
74
, N1
75
, N2
76
>::type >
::type
77
78
{
79
BOOST_MPL_AUX_LAMBDA_SUPPORT
(2,
shift_right
, (N1, N2))
80
81
};
82
83
BOOST_MPL_AUX_NA_SPEC2
(2, 2, shift_right)
84
85
}}
86
87
namespace
boost
{
namespace
mpl {
88
89
namespace
aux {
90
template
<
typename
T,
typename
Shift, T n, Shift s >
91
struct
shift_right_wknd
92
{
93
BOOST_STATIC_CONSTANT
(
T
, value = (n >>
s
));
94
typedef
integral_c< T,value >
type
;
95
};
96
97
}
98
99
template
<>
100
struct
shift_right_impl
<
integral_c_tag
,
integral_c_tag
>
101
{
102
template
<
typename
N,
typename
S >
struct
apply
103
:
aux::shift_right_wknd
<
104
typename N::value_type
105
, typename S::value_type
106
, N::value
107
, S::value
108
>
::type
109
110
{
111
};
112
};
113
114
}}
BOOST_MPL_AUX_NA_SPEC2
#define BOOST_MPL_AUX_NA_SPEC2(i, j, name)
Definition:
na_spec.hpp:166
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition:
suffix.hpp:394
boost::mpl::aux::shift_right_wknd
Definition:
msvc60/shift_right.hpp:91
boost::mpl::shift_right_impl< na, na >::apply::type
apply type
Definition:
msvc60/shift_right.hpp:36
T
T
Definition:
mem_fn_cc.hpp:25
boost::mpl::shift_right_impl< integral_c_tag, na >::apply::type
apply type
Definition:
msvc60/shift_right.hpp:54
BOOST_MPL_AUX_NA_PARAM
#define BOOST_MPL_AUX_NA_PARAM(param)
Definition:
na_spec.hpp:152
BOOST_MPL_AUX_NTTP_DECL
#define BOOST_MPL_AUX_NTTP_DECL(T, x)
Definition:
nttp_decl.hpp:31
boost::mpl::shift_right_impl< integral_c_tag, na >
Definition:
msvc60/shift_right.hpp:50
s
XmlRpcServer s
integral_c_tag
Definition:
integral_c_tag.hpp:22
boost::type
Definition:
type.hpp:14
BOOST_MPL_AUX_MSVC_VALUE_WKND
#define BOOST_MPL_AUX_MSVC_VALUE_WKND(C)
Definition:
value_wknd.hpp:58
boost::mpl::shift_right_tag
Definition:
bcc/shift_right.hpp:59
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::shift_right_impl< na, integral_c_tag >::apply::type
apply type
Definition:
msvc60/shift_right.hpp:45
boost::mpl::shift_right_impl
Definition:
bcc/shift_right.hpp:19
BOOST_MPL_AUX_LAMBDA_SUPPORT
#define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params)
Definition:
lambda_support.hpp:22
boost::mpl::aux::shift_right_wknd::type
integral_c< T, value > type
Definition:
msvc60/shift_right.hpp:94
boost::mpl::shift_right_tag::type
T::tag type
Definition:
msvc60/shift_right.hpp:61
boost::foreach::tag
boost_foreach_argument_dependent_lookup_hack tag
Definition:
foreach_fwd.hpp:31
boost::mpl::aux::shift_right_wknd::BOOST_STATIC_CONSTANT
BOOST_STATIC_CONSTANT(T, value=(n >> s))
boost::mpl::apply
primary template (not a specialization!)
Definition:
aux_/preprocessed/bcc/apply.hpp:163
boost::mpl::shift_right
Definition:
bcc/shift_right.hpp:68
boost::mpl::shift_right_impl< na, integral_c_tag >
Definition:
msvc60/shift_right.hpp:41
integral_c
Definition:
integral_c_fwd.hpp:26
boost::mpl::aux::msvc_eti_base
Definition:
msvc_eti_base.hpp:55
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:29