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