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
12namespace boost { namespace mpl {
13
14namespace aux {
15
16template< bool C_, typename T1, typename T2, typename T3, typename T4 >
17struct and_impl
18 : false_
19{
20};
21
22template< typename T1, typename T2, typename T3, typename T4 >
23struct and_impl< true,T1,T2,T3,T4 >
24 : and_impl<
25 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
26 , T2, T3, T4
27 , true_
28 >
29{
30};
31
32template<>
33struct and_impl<
34 true
35 , true_, true_, true_, true_
36 >
37 : true_
38{
39};
40
41} // namespace aux
42
43template<
44 typename BOOST_MPL_AUX_NA_PARAM(T1)
45 , typename BOOST_MPL_AUX_NA_PARAM(T2)
46 , typename T3 = true_, typename T4 = true_, typename T5 = true_
47 >
48struct and_
49
50 : aux::and_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 , and_
59 , ( T1, T2, T3, T4, T5)
60 )
61};
62
63BOOST_MPL_AUX_NA_SPEC2(
64 2
65 , 5
66 , and_
67 )
68
69}}
70