[Boost-bugs] [Boost C++ Libraries] #6622: boost::mpl::transform fails on boost::mpl::set in non-inserter form

Subject: [Boost-bugs] [Boost C++ Libraries] #6622: boost::mpl::transform fails on boost::mpl::set in non-inserter form
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-02-26 22:44:53


#6622: boost::mpl::transform fails on boost::mpl::set in non-inserter form
----------------------------------------------------+-----------------------
 Reporter: hack@… | Owner: agurtovoy
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: mpl
  Version: Boost 1.48.0 | Severity: Problem
 Keywords: boost::mpl::transform, boost::mpl::set |
----------------------------------------------------+-----------------------
 The following code does not compile with boost-1.48.0:
 {{{
 typedef boost::mpl::transform<
         boost::mpl::set<double,float>,
         boost::add_pointer<boost::mpl::_1>
>::type pointer_set;
 }}}
 It fails on a compile-time assert deeply into boost.mpl with
 "REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST". This
 makes sense, as boost::mpl::set is not a front extensible sequence. One
 can get this to work by using a custom inserter that utilises
 boost::mpl::insert instead of boost::mpl::push_front, or using a different
 sequence class in the output.
 However, I think boost::mpl::transform should either be able to detect a
 set properly, or the documentation should state that the non-inserter
 version of boost::mpl::transform requires a front extensible sequence.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6622>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC