Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

deduce

Description

Metafunction to apply element conversion to the full argument type.

It removes references to const, references to array types are kept, even if the array is const. Reference wrappers are removed (see boost::ref).

Header

#include <boost/fusion/support/deduce.hpp>
#include <boost/fusion/include/deduce.hpp>

Synopsis

namespace traits
{
    template <typename T>
    struct deduce
    {
        typedef unspecified type;
    };
}

Example

template <typename T>
struct holder
{
    typename traits::deduce<T const &>::type element;

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

template <typename T>
holder<T> make_holder(T const & a)
{
    return holder<T>(a);
}

See also


PrevUpHomeNext