On 2020-09-08 22:31, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
Looking at the code, I wonder why there is "using namespace std::placeholders". Shouldn't there be a separate namespace for placeholders? (I also think, it goes against our header policies.)
This imports the placeholders into boost::lambda2. There is no scenario in which you want to make the operators available without the placeholders, so without this directive, you'd always need to use both
using namespace boost::lambda2; using namespace std::placeholders;
This doesn't help anyone.
I see. I was thinking one could use it to compose std::mem_fns or native C++ lambdas without placeholders, but apparently this is not allowed. I noticed a few missing operators: unary +, ++, --, <<, >>, <=>, =, <op>=. Also, unary &, but I'm not sure it's a good idea to add one. I realize that there are no functional objects for those, but the library could define them. Do you plan to add them?