| Home | Libraries | People | FAQ | More

### 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

- `deduce`