Boost logo

Boost :

Subject: [boost] [range] Interest in range_call function?
From: Arthur Rosenstein (artros.misc_at_[hidden])
Date: 2014-09-09 13:04:50


Hi,

I'm checking to see if there's interest in a range_call function that
makes calling iterator-based algorithms with ranges a little less
painful. Simply put, range_call takes a function and an argument list
and forwards the arguments to the function while expanding ranges into
begin/end iterator pairs. For example:

    range_call(std::sort, vec, std::greater<int>());

It can also transform the result a la Boost.Range:

    range_call(std::copy,
        range_call<return_begin_found>(std::unique,
            range_call<return_begin_end>(std::sort, vec)
        ),
        std::ostream_iterator<int>(std::cout, " ")
    );

Obviously, Boost.Range provides a cleaner interface for most standard
algorithms. range_call, however, works with arbitrary functions and has
a smaller surface area.

Is there any interest in this (possibly as part of Boost.Range)?

-- 
Cheers,
Arthur

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk