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/or.hpp" header
10 // -- DO NOT modify by hand!
11 
12 namespace boost { namespace mpl {
13 
14 namespace aux {
15 
16 template< bool C_, typename T1, typename T2, typename T3, typename T4 >
17 struct or_impl
18     : true_
19 {
20 };
21 
22 template< typename T1, typename T2, typename T3, typename T4 >
23 struct or_impl< false,T1,T2,T3,T4 >
24     : or_impl<
25           BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
26         , T2, T3, T4
27         , false_
28         >
29 {
30 };
31 
32 template<>
33 struct or_impl<
34           false
35         , false_, false_, false_, false_
36         >
37     : false_
38 {
39 };
40 
41 } // namespace aux
42 
43 template<
44       typename BOOST_MPL_AUX_NA_PARAM(T1)
45     , typename BOOST_MPL_AUX_NA_PARAM(T2)
46     , typename T3 = false_, typename T4 = false_, typename T5 = false_
47     >
48 struct or_
49 
50     : aux::or_impl<
51           BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
52         , T2, T3, T4, T5
53         >
54 
55 {
56     BOOST_MPL_AUX_LAMBDA_SUPPORT(
57           5
58         , or_
59         , ( T1, T2, T3, T4, T5)
60         )
61 };
62 
63 BOOST_MPL_AUX_NA_SPEC2(
64       2
65     , 5
66     , or_
67     )
68 
69 }}
70