blob: d69b94097a6c44d5d2d28b2e38acd07e33ab4ba9 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001
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 "ndnboost/mpl/and.hpp" header
10// -- DO NOT modify by hand!
11
12namespace ndnboost { namespace mpl {
13
14namespace aux {
15template< 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
26template<> struct and_impl<true>
27{
28 template<
29 typename T1, typename T2, typename T3, typename T4
30 >
31 struct result_
32 : and_impl<
Jeff Thompson3d613fd2013-10-15 15:39:04 -070033 NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
Jeff Thompsona28eed82013-08-22 16:21:10 -070034 >::template result_< T2,T3,T4,true_ >
35 {
36 };
37};
38
39template<>
40struct and_impl<true>
41 ::result_< true_,true_,true_,true_ >
42 : true_
43{
44};
45
46} // namespace aux
47
48template<
Jeff Thompson3d613fd2013-10-15 15:39:04 -070049 typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
50 , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
Jeff Thompsona28eed82013-08-22 16:21:10 -070051 , typename T3 = true_, typename T4 = true_, typename T5 = true_
52 >
53struct and_
54
55 : aux::and_impl<
Jeff Thompson3d613fd2013-10-15 15:39:04 -070056 NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
Jeff Thompsona28eed82013-08-22 16:21:10 -070057 >::template result_< T2,T3,T4,T5 >
58
59{
Jeff Thompson3d613fd2013-10-15 15:39:04 -070060 NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
Jeff Thompsona28eed82013-08-22 16:21:10 -070061 5
62 , and_
63 , ( T1, T2, T3, T4, T5)
64 )
65};
66
Jeff Thompson3d613fd2013-10-15 15:39:04 -070067NDNBOOST_MPL_AUX_NA_SPEC2(
Jeff Thompsona28eed82013-08-22 16:21:10 -070068 2
69 , 5
70 , and_
71 )
72
73}}