Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

deduce_sequence

Description

Applies element conversion to each element in a Forward Sequence. The resulting type is a Random Access Sequence that provides a converting constructor accepting the original type as its argument.

Header
#include <boost/fusion/support/deduce_sequence.hpp>
#include <boost/fusion/include/deduce_sequence.hpp>
Synopsis
namespace traits
{
    template <class Sequence>
    struct deduce_sequence
    {
        typedef unspecified type;
    };
}
Example
template <class Seq>
struct holder
{
    typename traits::deduce_sequence<Seq>::type element;

    holder(Seq const & a)
      : element(a)
    { }
};

template <typename T0, typename T1>
holder< vector<T0 const &, T1 const &> >
make_holder(T0 const & a0, T1 const & a1)
{
    typedef vector<T0 const &, T1 const &> arg_vec_t;
    return holder<arg_vec_t>( arg_vec_t(a0,a1) );
}
See also

PrevUpHomeNext