File indexing completed on 2025-01-18 09:41:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 namespace boost { namespace mpl {
0013
0014 namespace aux {
0015
0016 template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
0017 {
0018 template< typename F, typename Args > struct apply;
0019 };
0020
0021 template<> struct unpack_args_impl<0>
0022 {
0023 template< typename F, typename Args > struct apply
0024 : apply0<
0025 F
0026 >
0027 {
0028 };
0029 };
0030
0031 template<> struct unpack_args_impl<1>
0032 {
0033 template< typename F, typename Args > struct apply
0034 : apply1<
0035 F
0036 , typename at_c< Args,0 >::type
0037 >
0038 {
0039 };
0040 };
0041
0042 template<> struct unpack_args_impl<2>
0043 {
0044 template< typename F, typename Args > struct apply
0045 : apply2<
0046 F
0047 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
0048 >
0049 {
0050 };
0051 };
0052
0053 template<> struct unpack_args_impl<3>
0054 {
0055 template< typename F, typename Args > struct apply
0056 : apply3<
0057 F
0058 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
0059 , typename at_c< Args,2 >::type
0060 >
0061 {
0062 };
0063 };
0064
0065 template<> struct unpack_args_impl<4>
0066 {
0067 template< typename F, typename Args > struct apply
0068 : apply4<
0069 F
0070 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
0071 , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
0072 >
0073 {
0074 };
0075 };
0076
0077 template<> struct unpack_args_impl<5>
0078 {
0079 template< typename F, typename Args > struct apply
0080 : apply5<
0081 F
0082 , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
0083 , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
0084 , typename at_c< Args,4 >::type
0085 >
0086 {
0087 };
0088 };
0089
0090 }
0091
0092 template<
0093 typename F
0094 >
0095 struct unpack_args
0096 {
0097 template< typename Args > struct apply
0098
0099 : aux::unpack_args_impl< size<Args>::value >
0100 ::template apply< F,Args >
0101
0102 {
0103 };
0104 };
0105
0106 BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
0107
0108 }}
0109