
On Thu, Feb 26, 2009 at 5:05 AM, Ovanes Markarian <om_boost@keywallet.com> wrote:
On Tue, Feb 24, 2009 at 5:46 PM, Sandeep Gupta <gupta.sandeep@gmail.com> wrote:
Hi, Given a collection in terms of [startIter, endIter] how can obtain [uniqBeginIter, uniqEndIter] that represents unique elements of the original container. I can always explicitly instantiate a set S of [startIter, endIter] and use [S.begin(), S.end()]. Is it possible to express this in terms of algorithms.
Hi!
I thought a bit about this issue. If you would like to use an algorithm to just make your code more descriptive, you still can achieve it by using typedef.
typedef std::set<std::iterator_traits<IterType>::value_type> make_unique_elements;
make_unique_elements uniques_(startIter, endIter);
Hope that helps,
Ovanes
Thanks Ovanes, This would be better that what i have currently. However the bigger problem was to avoid explicitly creating storage. As Dave mentioned if sort was supported over forward iterators (and not bidirectional iterators) then duplicate removal could have been expressed more directly. -sandeep
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users