Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:50:20

0001     ///////////////////////////////////////////////////////////////////////////////
0002     /// \file args.hpp
0003     /// Contains definition of \c term\<\>, \c list1\<\>, \c list2\<\>, ...
0004     /// class templates.
0005     //
0006     //  Copyright 2008 Eric Niebler. Distributed under the Boost
0007     //  Software License, Version 1.0. (See accompanying file
0008     //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0009     
0010     
0011     
0012     
0013     template< typename Arg0 >
0014     struct term
0015     {
0016         static const long arity = 0;
0017         typedef Arg0 child0;
0018         typedef mpl::void_ child1; typedef mpl::void_ child2; typedef mpl::void_ child3; typedef mpl::void_ child4; typedef mpl::void_ child5; typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0019         
0020         
0021         typedef Arg0 back_;
0022     };
0023     
0024     
0025     
0026     
0027     template< typename Arg0 >
0028     struct list1
0029     {
0030         static const long arity = 1;
0031         typedef Arg0 child0;
0032         typedef mpl::void_ child1; typedef mpl::void_ child2; typedef mpl::void_ child3; typedef mpl::void_ child4; typedef mpl::void_ child5; typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0033         
0034         
0035         typedef Arg0 back_;
0036     };
0037     
0038     
0039     
0040     
0041     template< typename Arg0 , typename Arg1 >
0042     struct list2
0043     {
0044         static const long arity = 2;
0045         typedef Arg0 child0; typedef Arg1 child1;
0046         typedef mpl::void_ child2; typedef mpl::void_ child3; typedef mpl::void_ child4; typedef mpl::void_ child5; typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0047         
0048         
0049         typedef Arg1 back_;
0050     };
0051     
0052     
0053     
0054     
0055     template< typename Arg0 , typename Arg1 , typename Arg2 >
0056     struct list3
0057     {
0058         static const long arity = 3;
0059         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2;
0060         typedef mpl::void_ child3; typedef mpl::void_ child4; typedef mpl::void_ child5; typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0061         
0062         
0063         typedef Arg2 back_;
0064     };
0065     
0066     
0067     
0068     
0069     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 >
0070     struct list4
0071     {
0072         static const long arity = 4;
0073         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3;
0074         typedef mpl::void_ child4; typedef mpl::void_ child5; typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0075         
0076         
0077         typedef Arg3 back_;
0078     };
0079     
0080     
0081     
0082     
0083     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
0084     struct list5
0085     {
0086         static const long arity = 5;
0087         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3; typedef Arg4 child4;
0088         typedef mpl::void_ child5; typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0089         
0090         
0091         typedef Arg4 back_;
0092     };
0093     
0094     
0095     
0096     
0097     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
0098     struct list6
0099     {
0100         static const long arity = 6;
0101         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3; typedef Arg4 child4; typedef Arg5 child5;
0102         typedef mpl::void_ child6; typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0103         
0104         
0105         typedef Arg5 back_;
0106     };
0107     
0108     
0109     
0110     
0111     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 >
0112     struct list7
0113     {
0114         static const long arity = 7;
0115         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3; typedef Arg4 child4; typedef Arg5 child5; typedef Arg6 child6;
0116         typedef mpl::void_ child7; typedef mpl::void_ child8; typedef mpl::void_ child9;
0117         
0118         
0119         typedef Arg6 back_;
0120     };
0121     
0122     
0123     
0124     
0125     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 >
0126     struct list8
0127     {
0128         static const long arity = 8;
0129         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3; typedef Arg4 child4; typedef Arg5 child5; typedef Arg6 child6; typedef Arg7 child7;
0130         typedef mpl::void_ child8; typedef mpl::void_ child9;
0131         
0132         
0133         typedef Arg7 back_;
0134     };
0135     
0136     
0137     
0138     
0139     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 , typename Arg8 >
0140     struct list9
0141     {
0142         static const long arity = 9;
0143         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3; typedef Arg4 child4; typedef Arg5 child5; typedef Arg6 child6; typedef Arg7 child7; typedef Arg8 child8;
0144         typedef mpl::void_ child9;
0145         
0146         
0147         typedef Arg8 back_;
0148     };
0149     
0150     
0151     
0152     
0153     template< typename Arg0 , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 , typename Arg6 , typename Arg7 , typename Arg8 , typename Arg9 >
0154     struct list10
0155     {
0156         static const long arity = 10;
0157         typedef Arg0 child0; typedef Arg1 child1; typedef Arg2 child2; typedef Arg3 child3; typedef Arg4 child4; typedef Arg5 child5; typedef Arg6 child6; typedef Arg7 child7; typedef Arg8 child8; typedef Arg9 child9;
0158         
0159         
0160         
0161         typedef Arg9 back_;
0162     };