Boost logo

Boost :

Subject: Re: [boost] [range][algorithms] How about making the range algorithms pipeable as the range adaptors are?
From: Nathan Ridge (zeratul976_at_[hidden])
Date: 2013-09-20 00:43:32


>> IMHO the pipe syntax should just be a shorthand for (left associative) >> function application, i.e.: >> >> x | f >> >> should simply be a equivalent to >> >> f(x) >> > > +1 - > > I would like to see it as a utility library for composing unary function > objects > whose arguments and return types match up. > It's to interesting and useful to be part of boost range. Taking it out of > boost.range would also simplify boost range. Is it possible to implement this in general without having to write a wrapper for each function to be used in this way? I don't think so because operator overloading requires at least one of the arguments to be user-defined, and x could be a built-in type and f a plain function pointer. I suppose we could have a utility library that defines a macro to generate the wrapper, but then libraries like Boost.Range would still need to provide code that calls this macro. Regards, Nate


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