mpl/aux_/preprocessed/msvc60/bitand.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/bitand.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 bitand_impl
23  : if_c<
24  ( tag1_ > tag2_ )
25  , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
26  , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
27  >::type
28 {
29 };
30 
32 template<> struct bitand_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 bitand_tag
60 {
61  typedef typename T::tag type;
62 };
63 
65 
66 template<
67  typename BOOST_MPL_AUX_NA_PARAM(N1)
68  , typename BOOST_MPL_AUX_NA_PARAM(N2)
69  >
70 struct bitand_2;
71 
72 template<
73  typename BOOST_MPL_AUX_NA_PARAM(N1)
74  , typename BOOST_MPL_AUX_NA_PARAM(N2)
75  , typename N3 = na, typename N4 = na, typename N5 = na
76  >
77 struct bitand_
78 
79  : if_<
80 
81  is_na<N3>
82  , bitand_2< N1,N2 >
83  , bitand_<
84  bitand_2< N1,N2 >
85  , N3, N4, N5
86  >
87  >::type
88 
89 {
91  5
92  , bitand_
93  , ( N1, N2, N3, N4, N5 )
94  )
95 };
96 
97 template<
98  typename N1
99  , typename N2
100  >
101 struct bitand_2
102  : aux::msvc_eti_base< typename apply_wrap2<
103  bitand_impl<
104  typename bitand_tag<N1>::type
105  , typename bitand_tag<N2>::type
106  >
107  , N1
108  , N2
109  >::type >::type
110 
111 {
113 
114 };
115 
116 BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
117 
118 }}
119 
120 namespace boost { namespace mpl {
121 
122 namespace aux {
123 template< typename T, T n1, T n2 >
125 {
126  BOOST_STATIC_CONSTANT(T, value = (n1 & n2));
128 };
129 
130 }
131 
132 template<>
134 {
135  template< typename N1, typename N2 > struct apply
137  typename aux::largest_int<
138  typename N1::value_type
139  , typename N2::value_type
140  >::type
141  , N1::value
142  , N2::value
143  >::type
144 
145  {
146  };
147 };
148 
149 }}
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
na
Definition: na_fwd.hpp:22
T
T
Definition: mem_fn_cc.hpp:25
boost::mpl::bitand_impl< integral_c_tag, na >::apply::type
apply type
Definition: mpl/aux_/preprocessed/msvc60/bitand.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::bitand_
Definition: mpl/aux_/preprocessed/bcc/bitand.hpp:69
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
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::aux::bitand_wknd::type
integral_c< T, value > type
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:127
boost::mpl::bitand_impl< integral_c_tag, na >
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:50
BOOST_MPL_AUX_LAMBDA_SUPPORT
#define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params)
Definition: lambda_support.hpp:22
boost::mpl::aux::bitand_wknd
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:124
boost::mpl::bitand_impl
Definition: mpl/aux_/preprocessed/bcc/bitand.hpp:19
boost::mpl::bitand_tag
Definition: mpl/aux_/preprocessed/bcc/bitand.hpp:59
boost::foreach::tag
boost_foreach_argument_dependent_lookup_hack tag
Definition: foreach_fwd.hpp:31
boost::mpl::apply
primary template (not a specialization!)
Definition: aux_/preprocessed/bcc/apply.hpp:163
boost::mpl::bitand_impl< na, na >::apply::type
apply type
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:36
boost::mpl::if_
Definition: dmc/basic_bind.hpp:374
boost::mpl::bitand_tag::type
T::tag type
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:61
integral_c
Definition: integral_c_fwd.hpp:26
boost::mpl::aux::msvc_eti_base
Definition: msvc_eti_base.hpp:55
boost::mpl::bitand_impl< na, integral_c_tag >::apply::type
apply type
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:45
boost::mpl::bitand_impl< na, integral_c_tag >
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:41
boost::mpl::aux::bitand_wknd::BOOST_STATIC_CONSTANT
BOOST_STATIC_CONSTANT(T, value=(n1 &n2))
boost::mpl::bitand_2
forward declaration
Definition: mpl/aux_/preprocessed/msvc60/bitand.hpp:70


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