Merge c:/dyninst/pc_bluegene/dyninst into dyn_pc_integration
[dyninst.git] / external / boost / mpl / aux_ / preprocessed / gcc / or.hpp
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 }}