blob: 62598cb97fa7e590171bb05fe4254fab2186c03c [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/quote.hpp" header
10// -- DO NOT modify by hand!
11
12namespace ndnboost { namespace mpl {
13template< bool > struct quote_impl
14{
15 template< typename T > struct result_
16 : T
17 {
18 };
19};
20
21template<> struct quote_impl<false>
22{
23 template< typename T > struct result_
24 {
25 typedef T type;
26 };
27};
28
29template<
30 template< typename P1 > class F
31 , typename Tag = void_
32 >
33struct quote1
34{
35 template< typename U1 > struct apply
36
37 : quote_impl< aux::has_type< F<U1> >::value >
38 ::template result_< F<U1> >
39
40 {
41 };
42};
43
44template<
45 template< typename P1, typename P2 > class F
46 , typename Tag = void_
47 >
48struct quote2
49{
50 template< typename U1, typename U2 > struct apply
51
52 : quote_impl< aux::has_type< F< U1,U2 > >::value >
53 ::template result_< F< U1,U2 > >
54
55 {
56 };
57};
58
59template<
60 template< typename P1, typename P2, typename P3 > class F
61 , typename Tag = void_
62 >
63struct quote3
64{
65 template< typename U1, typename U2, typename U3 > struct apply
66
67 : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >
68 ::template result_< F< U1,U2,U3 > >
69
70 {
71 };
72};
73
74template<
75 template< typename P1, typename P2, typename P3, typename P4 > class F
76 , typename Tag = void_
77 >
78struct quote4
79{
80 template<
81 typename U1, typename U2, typename U3, typename U4
82 >
83 struct apply
84
85 : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >
86 ::template result_< F< U1,U2,U3,U4 > >
87
88 {
89 };
90};
91
92template<
93 template<
94 typename P1, typename P2, typename P3, typename P4
95 , typename P5
96 >
97 class F
98 , typename Tag = void_
99 >
100struct quote5
101{
102 template<
103 typename U1, typename U2, typename U3, typename U4
104 , typename U5
105 >
106 struct apply
107
108 : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >
109 ::template result_< F< U1,U2,U3,U4,U5 > >
110
111 {
112 };
113};
114
115}}
116