Boost logo

Boost :

From: Steven Watanabe (steven_at_[hidden])
Date: 2006-11-16 00:05:17


MuTPu4 wrote:

> While using standart algorithm wrappers (::boost::lambda::ll) I find out
> that
> there is no way to call non-constant versions of begin/end without defining
> new
> helper functors in the user code. In other words, algorithms like ll::sort
> as-
> is are unusable.
> I think it would be nice to add a pair of non-const helper functors, i.e.
> call_mutable_begin and call_mutable_end to the library.

Perhaps deducing the iterator type from the constness of the parameter
would be even

template<class T>
struct get_iterator {
    typedef typename T::iterator type;
template<class T>
struct get_const_iterator {
    typedef typename T::const_iterator type;
struct call_begin {
    template<class Args>
    struct sig {
        typedef typename boost::tuples::element<1, Args>::type arg_type;
        typedef typename boost::mpl::eval_if<boost::is_const<arg_type>,
>::type type;
    template<class T>
    typename T::iterator operator()(T& t) const {
    template<class T>
    typename T::const_iterator operator()(const T& t) const {

In Christ,
Steven Watanabe

Boost list run by bdawes at, gregod at, cpdaniel at, john at