]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / aux_ / preprocessed / mwcw / unpack_args.hpp
1
2 // Copyright Aleksey Gurtovoy 2002-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/unpack_args.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 namespace aux {
15
16 template< int size, typename F, typename Args >
17 struct unpack_args_impl;
18
19 template< typename F, typename Args >
20 struct unpack_args_impl< 0,F,Args >
21 : apply0<
22 F
23 >
24 {
25 };
26
27 template< typename F, typename Args >
28 struct unpack_args_impl< 1,F,Args >
29 : apply1<
30 F
31 , typename at_c< Args,0 >::type
32 >
33 {
34 };
35
36 template< typename F, typename Args >
37 struct unpack_args_impl< 2,F,Args >
38 : apply2<
39 F
40 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
41 >
42 {
43 };
44
45 template< typename F, typename Args >
46 struct unpack_args_impl< 3,F,Args >
47 : apply3<
48 F
49 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
50 , typename at_c< Args,2 >::type
51 >
52 {
53 };
54
55 template< typename F, typename Args >
56 struct unpack_args_impl< 4,F,Args >
57 : apply4<
58 F
59 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
60 , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
61 >
62 {
63 };
64
65 template< typename F, typename Args >
66 struct unpack_args_impl< 5,F,Args >
67 : apply5<
68 F
69 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
70 , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
71 , typename at_c< Args,4 >::type
72 >
73 {
74 };
75
76 }
77
78 template<
79 typename F
80 >
81 struct unpack_args
82 {
83 template< typename Args > struct apply
84
85 : aux::unpack_args_impl< size<Args>::value,F, Args >
86
87 {
88 };
89 };
90
91 BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
92
93 }}
94