no_ctps/unpack_args.hpp
Go to the documentation of this file.
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< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
17 {
18  template< typename F, typename Args > struct apply;
19 };
20 
21 template<> struct unpack_args_impl<0>
22 {
23  template< typename F, typename Args > struct apply
24  : apply0<
25  F
26  >
27  {
28  };
29 };
30 
31 template<> struct unpack_args_impl<1>
32 {
33  template< typename F, typename Args > struct apply
34  : apply1<
35  F
36  , typename at_c< Args,0 >::type
37  >
38  {
39  };
40 };
41 
42 template<> struct unpack_args_impl<2>
43 {
44  template< typename F, typename Args > struct apply
45  : apply2<
46  F
47  , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
48  >
49  {
50  };
51 };
52 
53 template<> struct unpack_args_impl<3>
54 {
55  template< typename F, typename Args > struct apply
56  : apply3<
57  F
58  , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
59  , typename at_c< Args,2 >::type
60  >
61  {
62  };
63 };
64 
65 template<> struct unpack_args_impl<4>
66 {
67  template< typename F, typename Args > struct apply
68  : apply4<
69  F
70  , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
71  , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
72  >
73  {
74  };
75 };
76 
77 template<> struct unpack_args_impl<5>
78 {
79  template< typename F, typename Args > struct apply
80  : apply5<
81  F
82  , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
83  , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
84  , typename at_c< Args,4 >::type
85  >
86  {
87  };
88 };
89 
90 }
91 
92 template<
93  typename F
94  >
95 struct unpack_args
96 {
97  template< typename Args > struct apply
98 
99  : aux::unpack_args_impl< size<Args>::value >
100  ::template apply< F,Args >
101 
102  {
103  };
104 };
105 
107 
108 }}
109 
BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC
#define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name)
Definition: lambda_spec.hpp:26
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:46