aux_/preprocessed/msvc60/minus.hpp
Go to the documentation of this file.
1 
2 // Copyright Aleksey Gurtovoy 2000-2004
3 //
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 
9 // Preprocessed version of "boost/mpl/minus.hpp" header
10 // -- DO NOT modify by hand!
11 
12 namespace boost { namespace mpl {
13 
14 template<
15  typename Tag1
16  , typename Tag2
17 
18  , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
19  , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
20  >
21 struct minus_impl
22  : if_c<
23  ( tag1_ > tag2_ )
24  , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
25  , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
26  >::type
27 {
28 };
29 
31 template<> struct minus_impl< na,na >
32 {
33  template< typename U1, typename U2 > struct apply
34  {
35  typedef apply type;
36  BOOST_STATIC_CONSTANT(int, value = 0);
37  };
38 };
39 
41 {
42  template< typename U1, typename U2 > struct apply
43  {
44  typedef apply type;
45  BOOST_STATIC_CONSTANT(int, value = 0);
46  };
47 };
48 
50 {
51  template< typename U1, typename U2 > struct apply
52  {
53  typedef apply type;
54  BOOST_STATIC_CONSTANT(int, value = 0);
55  };
56 };
57 
58 template< typename T > struct minus_tag
59 {
60  typedef typename T::tag type;
61 };
62 
64 
65 template<
66  typename BOOST_MPL_AUX_NA_PARAM(N1)
67  , typename BOOST_MPL_AUX_NA_PARAM(N2)
68  >
69 struct minus2;
70 
71 template<
72  typename BOOST_MPL_AUX_NA_PARAM(N1)
73  , typename BOOST_MPL_AUX_NA_PARAM(N2)
74  , typename N3 = na, typename N4 = na, typename N5 = na
75  >
76 struct minus
77 
78  : if_<
79 
80  is_na<N3>
81  , minus2< N1,N2 >
82  , minus<
83  minus2< N1,N2 >
84  , N3, N4, N5
85  >
86  >::type
87 
88 {
90  5
91  , minus
92  , ( N1, N2, N3, N4, N5 )
93  )
94 };
95 
96 template<
97  typename N1
98  , typename N2
99  >
100 struct minus2
101  : aux::msvc_eti_base< typename apply_wrap2<
102  minus_impl<
103  typename minus_tag<N1>::type
104  , typename minus_tag<N2>::type
105  >
106  , N1
107  , N2
108  >::type >::type
109 
110 {
112 
113 };
114 
115 BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
116 
117 }}
118 
119 namespace boost { namespace mpl {
120 
121 namespace aux {
122 template< typename T, T n1, T n2 >
124 {
125  BOOST_STATIC_CONSTANT(T, value = (n1 - n2));
127 };
128 
129 }
130 
131 template<>
133 {
134  template< typename N1, typename N2 > struct apply
135  : aux::minus_wknd<
136  typename aux::largest_int<
137  typename N1::value_type
138  , typename N2::value_type
139  >::type
140  , N1::value
141  , N2::value
142  >::type
143 
144  {
145  };
146 };
147 
148 }}
BOOST_MPL_AUX_NA_SPEC2
#define BOOST_MPL_AUX_NA_SPEC2(i, j, name)
Definition: na_spec.hpp:166
boost::mpl::minus_impl< na, integral_c_tag >
Definition: aux_/preprocessed/msvc60/minus.hpp:40
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
na
Definition: na_fwd.hpp:22
boost::mpl::aux::minus_wknd::type
integral_c< T, value > type
Definition: aux_/preprocessed/msvc60/minus.hpp:126
T
T
Definition: mem_fn_cc.hpp:25
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
integral_c_tag
Definition: integral_c_tag.hpp:22
boost::mpl::minus_impl
Definition: aux_/preprocessed/bcc/minus.hpp:18
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::minus_impl< integral_c_tag, na >
Definition: aux_/preprocessed/msvc60/minus.hpp:49
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::minus_tag
Definition: aux_/preprocessed/bcc/minus.hpp:58
BOOST_MPL_AUX_LAMBDA_SUPPORT
#define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params)
Definition: lambda_support.hpp:22
boost::mpl::minus_tag::type
T::tag type
Definition: aux_/preprocessed/msvc60/minus.hpp:60
boost::mpl::aux::minus_wknd::BOOST_STATIC_CONSTANT
BOOST_STATIC_CONSTANT(T, value=(n1 - n2))
boost::foreach::tag
boost_foreach_argument_dependent_lookup_hack tag
Definition: foreach_fwd.hpp:31
boost::mpl::minus2
forward declaration
Definition: aux_/preprocessed/msvc60/minus.hpp:69
boost::mpl::apply
primary template (not a specialization!)
Definition: aux_/preprocessed/bcc/apply.hpp:163
boost::mpl::minus_impl< na, na >::apply::type
apply type
Definition: aux_/preprocessed/msvc60/minus.hpp:35
boost::mpl::if_
Definition: dmc/basic_bind.hpp:374
integral_c
Definition: integral_c_fwd.hpp:26
boost::mpl::minus_impl< integral_c_tag, na >::apply::type
apply type
Definition: aux_/preprocessed/msvc60/minus.hpp:53
boost::mpl::aux::minus_wknd
Definition: aux_/preprocessed/msvc60/minus.hpp:123
boost::mpl::aux::msvc_eti_base
Definition: msvc_eti_base.hpp:55
boost::mpl::minus_impl< na, integral_c_tag >::apply::type
apply type
Definition: aux_/preprocessed/msvc60/minus.hpp:44
boost::mpl::minus
Definition: aux_/preprocessed/bcc/minus.hpp:68


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