$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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