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