bcc_pre590/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 the main "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  typedef typename aux::unpack_args_impl<
86  size<Args>::value
87  , F
88  , Args
90 
91  };
92 };
93 
95 
96 }}
97 
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.
boost::mpl::unpack_args
Definition: bcc/unpack_args.hpp:81
boost::mpl::unpack_args::apply::type
aux::unpack_args_impl< size< Args >::value, F, Args >::type type
Definition: bcc/unpack_args.hpp:89


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