source: XIOS/dev/dev_olga/src/extern/boost/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp @ 1022

Last change on this file since 1022 was 1022, checked in by mhnguyen, 7 years ago
File size: 1.9 KB
Line 
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
12namespace boost { namespace mpl {
13
14namespace aux {
15
16template< int size, typename F, typename Args >
17struct unpack_args_impl;
18
19template< typename F, typename Args >
20struct unpack_args_impl< 0,F,Args >
21    : apply0<
22          F
23        >
24{
25};
26
27template< typename F, typename Args >
28struct unpack_args_impl< 1,F,Args >
29    : apply1<
30          F
31        , typename at_c< Args,0 >::type
32        >
33{
34};
35
36template< typename F, typename Args >
37struct 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
45template< typename F, typename Args >
46struct 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
55template< typename F, typename Args >
56struct 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
65template< typename F, typename Args >
66struct 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
78template<
79      typename F
80    >
81struct 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
91BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
92
93}}
94
Note: See TracBrowser for help on using the repository browser.