Hacker News new | ask | show | jobs
by loeg 270 days ago
> I have absolutely no idea what std::flip is supposed to do.

Just reverse parameter order. It seems very silly.

  void f(int, double);

  void main() {
    flip(f)(3.14, 1);
  }
1 comments

You do realize it's not meant for silly situations like that, right?
I cannot imagine a not-silly situation where it would be used.
If I have a library that let me curry trailing arguments for a function, then I can see how something like std::flip() could be useful in letting me curry different arguments without costing extra lines of code. The library I had in mind is Google's RPC callbacks:

https://github.com/protocolbuffers/protobuf/blob/main/src/go...

This library was written in the C++98 era. It might seem silly now because with C++11, we could use std::bind or lambda expressions instead.

I am insufficiently clever to imagine a non-silly situation in which it is useful. If authors only present silly use cases then I am inclined to suspect their creations are only useful in silly cases. If it were useful in solving real problems they should show that as an example!