unpack_sequence¶
Header¶
#include <boost/hof/unpack_sequence.hpp>
How to unpack a sequence can be defined by specializing unpack_sequence
.
By default, std::tuple
is already specialized. To implement this, one
needs to provide a static apply
function which will unpack the sequence
to the parameters of the function.
Synopsis¶
template<class Sequence, class=void>
struct unpack_sequence;
Example¶
#include <boost/hof.hpp>
#include <cassert>
struct my_sequence
{
int x;
int y;
};
namespace boost { namespace hof {
template<>
struct unpack_sequence<my_sequence>
{
template<class F, class Sequence>
constexpr static auto apply(F&& f, Sequence&& s) BOOST_HOF_RETURNS
(
f(s.x, s.y)
);
};
}} // namespace boost::hof
int main() {
}