no_ctps/inherit.hpp
Go to the documentation of this file.
1 
2 // Copyright Aleksey Gurtovoy 2001-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/inherit.hpp" header
10 // -- DO NOT modify by hand!
11 
12 namespace boost { namespace mpl {
13 
14 namespace aux {
15 
16 template< bool C1, bool C2 >
17 struct inherit2_impl
18 {
19  template< typename Derived, typename T1, typename T2 > struct result_
20  : T1, T2
21  {
22  typedef Derived type_;
23  };
24 };
25 
26 template<>
27 struct inherit2_impl< false,true >
28 {
29  template< typename Derived, typename T1, typename T2 > struct result_
30  : T1
31  {
32  typedef T1 type_;
33  };
34 };
35 
36 template<>
37 struct inherit2_impl< true,false >
38 {
39  template< typename Derived, typename T1, typename T2 > struct result_
40  : T2
41  {
42  typedef T2 type_;
43  };
44 };
45 
46 template<>
47 struct inherit2_impl< true,true >
48 {
49  template< typename Derived, typename T1, typename T2 > struct result_
50  {
51  typedef T1 type_;
52  };
53 };
54 
55 } // namespace aux
56 
57 template<
58  typename BOOST_MPL_AUX_NA_PARAM(T1)
59  , typename BOOST_MPL_AUX_NA_PARAM(T2)
60  >
61 struct inherit2
63  is_empty_base<T1>::value
64  , is_empty_base<T2>::value
65  >::template result_< inherit2< T1,T2 >,T1, T2 >
66 {
67  typedef typename inherit2::type_ type;
69 };
70 
72 
73 template<
74  typename T1 = na, typename T2 = na, typename T3 = na
75  >
76 struct inherit3
77  : inherit2<
78  typename inherit2<
79  T1, T2
80  >::type
81  , T3
82  >
83 {
85  3
86  , inherit3
87  , ( T1, T2, T3)
88  )
89 };
90 
91 BOOST_MPL_AUX_NA_SPEC(3, inherit3)
92 
93 template<
94  typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
95  >
96 struct inherit4
97  : inherit2<
98  typename inherit3<
99  T1, T2, T3
100  >::type
101  , T4
102  >
103 {
105  4
106  , inherit4
107  , ( T1, T2, T3, T4)
108  )
109 };
110 
111 BOOST_MPL_AUX_NA_SPEC(4, inherit4)
112 
113 template<
114  typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
115  , typename T5 = na
116  >
117 struct inherit5
118  : inherit2<
119  typename inherit4<
120  T1, T2, T3, T4
121  >::type
122  , T5
123  >
124 {
126  5
127  , inherit5
128  , ( T1, T2, T3, T4, T5)
129  )
130 };
131 
132 BOOST_MPL_AUX_NA_SPEC(5, inherit5)
133 
134 
136 template<
137  typename T1 = empty_base, typename T2 = empty_base
138  , typename T3 = empty_base, typename T4 = empty_base
139  , typename T5 = empty_base
140  >
141 struct inherit
142  : inherit5< T1,T2,T3,T4,T5 >
143 {
144 };
145 
146 template<>
147 struct inherit< na,na,na,na,na >
148 {
149  template<
150 
151  typename T1 = empty_base, typename T2 = empty_base
152  , typename T3 = empty_base, typename T4 = empty_base
153  , typename T5 = empty_base
154 
155  >
156  struct apply
157  : inherit< T1,T2,T3,T4,T5 >
158  {
159  };
160 };
161 
163 BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
165 }}
166 
na
Definition: na_fwd.hpp:22
BOOST_MPL_AUX_NA_PARAM
#define BOOST_MPL_AUX_NA_PARAM(param)
Definition: na_spec.hpp:152
boost::mpl::aux::inherit2_impl
Definition: msvc60/inherit.hpp:17
BOOST_MPL_AUX_NA_SPEC
#define BOOST_MPL_AUX_NA_SPEC(i, name)
Definition: na_spec.hpp:161
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
BOOST_MPL_AUX_LAMBDA_SUPPORT
#define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params)
Definition: lambda_support.hpp:22
BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY
#define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name)
Definition: na_spec.hpp:136
boost::mpl::aux::inherit2_impl< true, true >::result_::type_
T1 type_
Definition: no_ctps/inherit.hpp:51
boost::mpl::aux::inherit2_impl< false, true >::result_::type_
T1 type_
Definition: no_ctps/inherit.hpp:32
BOOST_MPL_AUX_NA_SPEC_ARITY
#define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name)
Definition: na_spec.hpp:56
boost::mpl::inherit2::type
inherit2::type_ type
Definition: no_ctps/inherit.hpp:67
boost::mpl::aux::inherit2_impl< true, false >::result_::type_
T2 type_
Definition: no_ctps/inherit.hpp:42
boost::mpl::inherit2
Definition: bcc/inherit.hpp:18
BOOST_MPL_AUX_NA_SPEC_LAMBDA
#define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name)
Definition: na_spec.hpp:98
boost::mpl::aux::inherit2_impl::result_::type_
Derived type_
Definition: no_ctps/inherit.hpp:22
boost::mpl::inherit3
Definition: bcc/inherit.hpp:51


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