Le 16/10/2013 13:47, Mathias Gaunard a écrit :

Is that the full error message? It's not very explicit.
Making error messages better is something we've been working on, and apparently we still have some way to go.
Nop, this was just the short version by VS 2012. Below the full error, which I don't find very explicit either :)

The fixed version now works fine.

  main.cpp
1>c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(58): error C2039: 'type' : is not a member of 'boost::dispatch::meta::result_of<Sig>'
1>          with
1>          [
1>              Sig=const boost::dispatch::functor<boost::simd::tag::multiplies_> (float,int)
1>          ]
1>          c:\users\otristan\code\boost\boost\dispatch\functor\meta\preprocessed\call.hpp(14) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>' being compiled
1>          with
1>          [
1>              Sig=boost::simd::tag::map_ (boost::dispatch::meta::unspecified_<boost::dispatch::functor<boost::simd::tag::multiplies_>>,boost::dispatch::meta::generic_<boost::dispatch::meta::unspecified_<float>>,boost::dispatch::meta::generic_<boost::dispatch::meta::unspecified_<int>>),
1>              Site=boost::dispatch::tag::cpu_,
1>              Enable=void
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(87) : see reference to class template instantiation 'boost::dispatch::meta::call<Sig>' being compiled
1>          with
1>          [
1>              Sig=boost::simd::tag::map_ (boost::dispatch::functor<boost::simd::tag::multiplies_>,const float &,const int &)
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(97) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>' being compiled
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<float>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void,
1>              B=false
1>          ]
1>          c:\users\otristan\code\boost\boost\dispatch\functor\preprocessed\functor0x.hpp(29) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>' being compiled
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<float>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(58) : see reference to class template instantiation 'boost::dispatch::functor<Tag>::result<Sig>' being compiled
1>          with
1>          [
1>              Tag=boost::simd::tag::multiplies_,
1>              Sig=const boost::dispatch::functor<boost::simd::tag::multiplies_> (float,int)
1>          ]
1>          c:\users\otristan\code\boost\boost\dispatch\functor\meta\preprocessed\call.hpp(14) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>' being compiled
1>          with
1>          [
1>              Sig=boost::simd::tag::map_ (boost::dispatch::meta::unspecified_<boost::dispatch::functor<boost::simd::tag::multiplies_>>,boost::dispatch::meta::generic_<boost::dispatch::meta::unspecified_<boost::simd::native<float,boost::simd::tag::sse_>>>,boost::dispatch::meta::generic_<boost::dispatch::meta::unspecified_<boost::simd::native<int,boost::simd::tag::sse_>>>),
1>              Site=boost::dispatch::tag::cpu_,
1>              Enable=void
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(87) : see reference to class template instantiation 'boost::dispatch::meta::call<Sig>' being compiled
1>          with
1>          [
1>              Sig=boost::simd::tag::map_ (boost::dispatch::functor<boost::simd::tag::multiplies_>,const boost::simd::native<float,boost::simd::tag::sse_> &,const boost::simd::native<int,boost::simd::tag::sse_> &)
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(97) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>' being compiled
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<boost::simd::native<float,boost::simd::tag::sse_>>,boost::dispatch::meta::unspecified_<boost::simd::native<int,boost::simd::tag::sse_>>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void,
1>              B=false
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(72) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>' being compiled
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<boost::simd::native<float,boost::simd::tag::sse_>>,boost::dispatch::meta::unspecified_<boost::simd::native<int,boost::simd::tag::sse_>>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(97) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>' being compiled
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<boost::simd::native<float,boost::simd::tag::sse_>>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void,
1>              B=true
1>          ]
1>          c:\users\otristan\code\boost\boost\dispatch\functor\meta\preprocessed\call.hpp(9) : see reference to class template instantiation 'boost::simd::ext::implement<Sig,Site,Enable>' being compiled
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<boost::simd::native<float,boost::simd::tag::sse_>>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\sdk\dsl\typed_expression.hpp(56) : see reference to class template instantiation 'boost::dispatch::meta::call<Sig>' being compiled
1>          with
1>          [
1>              Sig=boost::proto::tagns_::tag::multiplies (boost::simd::native<float,boost::simd::tag::sse_>,int)
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\sdk\dsl\typed_expression.hpp(29) : see reference to class template instantiation 'boost::simd::meta::typed_expression<Lambda>::apply_impl<Expr,N>' being compiled
1>          with
1>          [
1>              Lambda=boost::simd::details::mpl_2,
1>              Expr=boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>,
1>              N=2
1>          ]
1>          c:\users\otristan\code\boost\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(39) : see reference to class template instantiation 'boost::simd::meta::typed_expression<Lambda>::apply<Expr>' being compiled
1>          with
1>          [
1>              Lambda=boost::simd::details::mpl_2,
1>              Expr=boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>
1>          ]
1>          c:\users\otristan\code\boost\boost\mpl\aux_\preprocessed\plain\apply.hpp(43) : see reference to class template instantiation 'boost::mpl::apply_wrap1<F,T1>' being compiled
1>          with
1>          [
1>              F=boost::simd::meta::typed_expression<boost::simd::details::mpl_2>,
1>              T1=boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\sdk\simd\pack\generator.hpp(43) : see reference to class template instantiation 'boost::mpl::apply1<F,T1>' being compiled
1>          with
1>          [
1>              F=boost::simd::meta::typed_expression<boost::simd::details::mpl_2>,
1>              T1=boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>
1>          ]
1>          c:\users\otristan\code\boost\boost\proto\transform\impl.hpp(239) : see reference to class template instantiation 'boost::simd::generator::impl<Expr,State,Data>' being compiled
1>          with
1>          [
1>              Expr=boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>,
1>              State=boost::proto::envns_::empty_state,
1>              Data=boost::proto::envns_::empty_env
1>          ]
1>          c:\users\otristan\code\boost\boost\proto\transform\impl.hpp(255) : see reference to class template instantiation 'boost::proto::detail::apply_transform<Sig>' being compiled
1>          with
1>          [
1>              Sig=boost::simd::generator (boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>)
1>          ]
1>          c:\users\otristan\code\boost\boost\proto\detail\preprocessed\make_expr_.hpp(73) : see reference to class template instantiation 'boost::proto::transform<PrimitiveTransform>::result<Sig>' being compiled
1>          with
1>          [
1>              PrimitiveTransform=boost::simd::generator,
1>              Sig=boost::simd::generator (boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<int>>,int>>,2>)
1>          ]
1>          c:\users\otristan\code\boost\boost\proto\detail\preprocessed\make_expr_.hpp(91) : see reference to class template instantiation 'boost::proto::detail::make_expr_<Tag,Domain,A0,A1>' being compiled
1>          with
1>          [
1>              Tag=boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,
1>              Domain=boost::simd::domain,
1>              A0=const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,
1>              A1=const int &
1>          ]
1>          c:\users\otristan\code\boost\boost\proto\make_expr.hpp(136) : see reference to class template instantiation 'boost::proto::detail::make_expr_<Tag,Domain,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9>' being compiled
1>          with
1>          [
1>              Tag=boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,
1>              Domain=boost::proto::domainns_::deduce_domain,
1>              A0=const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,
1>              A1=const int &,
1>              A2=void,
1>              A3=void,
1>              A4=void,
1>              A5=void,
1>              A6=void,
1>              A7=void,
1>              A8=void,
1>              A9=void
1>          ]
1>          c:\users\otristan\code\boost\boost\dispatch\dsl\preprocessed\call.hpp(39) : see reference to class template instantiation 'boost::proto::result_of::make_expr<Tag,A0,A1>' being compiled
1>          with
1>          [
1>              Tag=boost::dispatch::meta::proto_tag<boost::simd::tag::multiplies_>::type,
1>              A0=const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,
1>              A1=const int &
1>          ]
1>          c:\users\otristan\code\boost\boost\dispatch\functor\meta\preprocessed\call.hpp(9) : see reference to class template instantiation 'boost::dispatch::meta::implement<Signature,Site,Dummy>::result<Sig>' being compiled
1>          with
1>          [
1>              Signature=boost::simd::tag::multiplies_ (boost::dispatch::tag::ast_),
1>              Site=boost::dispatch::tag::formal_,
1>              Dummy=void,
1>              Sig=boost::dispatch::meta::dispatch_call<boost::proto::tagns_::tag::multiplies (const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,const int &),void>::type (const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,const int &)
1>          ]
1>          c:\users\otristan\code\boost\boost\utility\enable_if.hpp(40) : see reference to class template instantiation 'boost::dispatch::meta::call<Sig,EvalContext>' being compiled
1>          with
1>          [
1>              Sig=boost::proto::tagns_::tag::multiplies (const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,const int &),
1>              EvalContext=void
1>          ]
1>          c:\users\otristan\code\boost\boost\utility\enable_if.hpp(47) : see reference to class template instantiation 'boost::lazy_enable_if_c<B,T>' being compiled
1>          with
1>          [
1>              B=true,
1>              T=boost::dispatch::meta::call<boost::proto::tagns_::tag::multiplies (const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,const int &),void>
1>          ]
1>          c:\users\otristan\code\tmp\testsimd\test\main.cpp(13) : see reference to class template instantiation 'boost::lazy_enable_if<Cond,T>' being compiled
1>          with
1>          [
1>              Cond=boost::mpl::and_<boost::simd::is_value<boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>>>,boost::simd::is_value<int>,boost::mpl::true_,boost::mpl::true_,boost::mpl::true_>,
1>              T=boost::dispatch::meta::call<boost::proto::tagns_::tag::multiplies (const boost::simd::expression<boost::proto::exprns_::expr<boost::dispatch::meta::proto_tag<boost::simd::tag::plus_>::type,boost::proto::argsns_::list2<boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>,boost::simd::expression<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::simd::native<float,boost::simd::tag::sse_> &>>,const boost::simd::native<float,boost::simd::tag::sse_> &>>,2>,boost::simd::native<float,boost::simd::tag::sse_>> &,const int &),void>
1>          ]
1>c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(59): error C2146: syntax error : missing ';' before identifier 'rtype'
1>c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(59): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(63): error C2065: 'rtype' : undeclared identifier
1>c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(64): error C2923: 'boost::simd::meta::vector_of' : 'rtype' is not a valid template type argument for parameter 'T'
1>c:\users\otristan\code\boost\boost\simd\operator\functions\simd\common\preprocessed\map.hpp(64): error C2955: 'boost::simd::meta::vector_of' : use of class template requires template argument list
1>          c:\users\otristan\code\boost\boost\simd\sdk\simd\meta\vector_of.hpp(124) : see declaration of 'boost::simd::meta::vector_of'
1>c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(87): error C2039: 'type' : is not a member of 'boost::dispatch::meta::call<Sig>'
1>          with
1>          [
1>              Sig=boost::simd::tag::map_ (boost::dispatch::functor<boost::simd::tag::multiplies_>,const float &,const int &)
1>          ]
1>c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(88): error C2146: syntax error : missing ';' before identifier 'type'
1>c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(88): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(88): error C2602: 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>::type' is not a member of a base class of 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>'
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<float>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void,
1>              B=false
1>          ]
1>          c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(88) : see declaration of 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>::type'
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<float>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void,
1>              B=false
1>          ]
1>c:\users\otristan\code\boost\boost\simd\operator\specific\preprocessed\common.hpp(88): error C2868: 'boost::simd::ext::implement<Sig,Site,Enable>::splat_or_map<B>::type' : illegal syntax for using-declaration; expected qualified-name
1>          with
1>          [
1>              Sig=boost::dispatch::meta::elementwise_<boost::simd::tag::multiplies_> (boost::dispatch::meta::unspecified_<float>,boost::dispatch::meta::unspecified_<int>),
1>              Site=boost::dispatch::tag::formal_,
1>              Enable=void,
1>              B=false
1>          ]

--
UVI
Olivier Tristan | Research & Development
o.tristan@uvi.net

Facebook Twitter Youtube SoundCloud Blog
                UVI