1 .. Metafunctions/Invocation//unpack_args |30
24 A higher-order primitive transforming an *n*-ary |Lambda Expression| ``F`` into
25 an unary |Metafunction Class| ``g`` accepting a single sequence of *n* arguments.
33 #include <boost/mpl/unpack_args.hpp>
45 +---------------+-----------------------+-------------------------------------------+
46 | Parameter | Requirement | Description |
47 +===============+=======================+===========================================+
48 | ``F`` | |Lambda Expression| | A lambda expression to adopt. |
49 +---------------+-----------------------+-------------------------------------------+
55 For an arbitrary |Lambda Expression| ``f``, and arbitrary types |a1...an|:
60 typedef unpack_args<f> g;
66 ``g`` is a unary |Metafunction Class| such that
70 apply_wrap\ *n*\ < g, vector<a1,\ |...|\ a\ *n*\ > >::type
76 apply<F,a1,\ |...|\ a\ *n*\ >::type
84 BOOST_MPL_ASSERT(( apply<
85 unpack_args< is_same<_1,_2> >
93 |Metafunctions|, |Lambda Expression|, |Metafunction Class|, |apply|, |apply_wrap|, |bind|
96 .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams
97 Distributed under the Boost Software License, Version 1.0. (See accompanying
98 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)