mpl/aux_/preprocessed/bcc/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 the main "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  >
20  : if_c<
21  ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
22  > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
23  )
24 
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 
41 template< typename Tag > struct bitand_impl< na,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< typename Tag > struct bitand_impl< 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 bitand_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  , typename N3 = na, typename N4 = na, typename N5 = na
68  >
69 struct bitand_
70  : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
71 {
73  5
74  , bitand_
75  , ( N1, N2, N3, N4, N5 )
76  )
77 };
78 
79 template<
80  typename N1, typename N2, typename N3, typename N4
81  >
82 struct bitand_< N1,N2,N3,N4,na >
83 
84  : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
85 {
87  5
88  , bitand_
89  , ( N1, N2, N3, N4, na )
90  )
91 };
92 
93 template<
94  typename N1, typename N2, typename N3
95  >
96 struct bitand_< N1,N2,N3,na,na >
97 
98  : bitand_< bitand_< N1,N2 >, N3>
99 {
101  5
102  , bitand_
103  , ( N1, N2, N3, na, na )
104  )
105 };
106 
107 template<
108  typename N1, typename N2
109  >
110 struct bitand_< N1,N2,na,na,na >
111  : bitand_impl<
112  typename bitand_tag<N1>::type
113  , typename bitand_tag<N2>::type
114  >::template apply< N1,N2 >::type
115 {
117  5
118  , bitand_
119  , ( N1, N2, na, na, na )
120  )
121 
122 };
123 
125 
126 }}
127 
128 namespace boost { namespace mpl {
129 template<>
131 {
132  template< typename N1, typename N2 > struct apply
133 
134  : integral_c<
135  typename aux::largest_int<
136  typename N1::value_type
137  , typename N2::value_type
138  >::type
139  , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
140  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
141  )
142  >
143  {
144  };
145 };
146 
147 }}
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
boost::mpl::aux::cast2nd_impl
Definition: numeric_cast_utils.hpp:54
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC
#define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params)
Definition: lambda_support.hpp:21
BOOST_MPL_AUX_NA_PARAM
#define BOOST_MPL_AUX_NA_PARAM(param)
Definition: na_spec.hpp:152
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
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::bitand_impl< na, Tag >::apply::type
apply type
Definition: mpl/aux_/preprocessed/bcc/bitand.hpp:45
BOOST_MPL_AUX_LAMBDA_SUPPORT
#define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params)
Definition: lambda_support.hpp:22
boost::mpl::if_c
Definition: mpl/if.hpp:34
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::aux::cast1st_impl
Definition: numeric_cast_utils.hpp:28
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/bcc/bitand.hpp:36
boost::mpl::bitand_tag::type
T::tag type
Definition: mpl/aux_/preprocessed/bcc/bitand.hpp:61
integral_c
Definition: integral_c_fwd.hpp:26
boost::mpl::bitand_impl< Tag, na >::apply::type
apply type
Definition: mpl/aux_/preprocessed/bcc/bitand.hpp:54


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