|
Boost : |
Subject: [boost] boost::adaptors::keys for mutable ranges of pairs
From: Valentin Ziegler (vziegler_at_[hidden])
Date: 2012-02-23 05:06:39
Hello,
map.hpp defines two overloads for adaptors::values, one for
StdPairRange& and another for const StdPairRange const& rng. On the
other hand, there is just a single adaptors::keys which takes
StdPairRange const&. In particular, the code below will not compile:
boost::find_if(
boost::adaptors::keys(rng),
SomePredicate()
).base()->second=NewValue();
Therefore, I would propose an adaptors::keys(StdPairRange& rng) overload
similar to adaptors::values(StdPairRange&). Iterators of the returned
range shall have a mutable base iterator. Further, iterators of the
returned range should have a reference type of
range_value<StdPairRange>::type::first_type& , so the elements in keys
are mutable where StdPairRange admits this.
Regards,
Valentin
-- Valentin Ziegler | vziegler_at_[hidden] Software Engineer think-cell Software GmbH | Chausseestr. 8/E | 10115 Berlin | Germany http://www.think-cell.com | phone +49 30 666473-10 | US phone +1 800 891 8091 Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306 Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk