$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Marco Costalba (mcostalba_at_[hidden])
Date: 2007-10-01 13:15:19
I wanted to add the final touch, from :
>
>     template <typename Seq>
>     struct overload : detail::compose_overload_base<Seq>::type
>     {
>         typedef typename tuples::element<0, Seq>::type Sig0;
>         typedef typename tuples::element<1, Seq>::type Sig1;
>         typedef typename tuples::element<2, Seq>::type Sig2;
>         typedef typename tuples::element<3, Seq>::type Sig3;
>
>         typedef
>             tuple<
>                 boost::function<Sig0>
>               , boost::function<Sig1>
>               , boost::function<Sig2>
>               , boost::function<Sig3>
>             >
>         functions_type;
to
namespace detail
    {
       struct get_function
        {
           template <typename T>
           struct apply
           {
               typedef  boost::function<T> type;
           };
        };
    }
    template <typename Seq>
    struct overload : detail::compose_overload_base<Seq>::type
    {
            typedef typename boost::mpl::
            transform<Seq, detail::get_function>::type functions_type;
But i have a strange compile error.
[snip]
overload.cpp:45:   instantiated from here
boost_dir/boost/mpl/clear.hpp:31: error: invalid use of incomplete
type 'struct boost::mpl::clear_impl<boost::mpl::non_sequence_tag>::apply<boost::tuples::tuple<int
()(char), double ()(int, char), char ()(std::string), v
[snip]
I have included
#include <boost/mpl/transform.hpp>
but proabbly I'm missing something...
Could someone help me? I'm new to boost.
Thanks
Marco