msvc70/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 
42 {
43  template< typename U1, typename U2 > struct apply
44  {
45  typedef apply type;
46  BOOST_STATIC_CONSTANT(int, value = 0);
47  };
48 };
49 
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  : tag< T,na >
61 {
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));
95 };
96 
97 }
98 
99 template<>
101 {
102  template< typename N, typename S > struct apply
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: msvc70/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: msvc70/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
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: msvc70/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: msvc70/shift_right.hpp:94
boost::mpl::aux::shift_right_wknd::BOOST_STATIC_CONSTANT
BOOST_STATIC_CONSTANT(T, value=(n >> s))
boost::mpl::tag
Definition: mpl/tag.hpp:31
boost::mpl::apply
primary template (not a specialization!)
Definition: aux_/preprocessed/bcc/apply.hpp:163
boost::mpl::shift_right_impl< na, integral_c_tag >
Definition: msvc60/shift_right.hpp:41
integral_c
Definition: integral_c_fwd.hpp:26


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:29