unpack_sequence — Boost.HigherOrderFunctions 0.6 documentation

# 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() {
    }

## See Also

- unpack

- is_unpackable