[Lldb-commits] [PATCH] D43662: [Utility] Simplify and generalize the CleanUp helper, NFC

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Feb 22 18:06:03 PST 2018

labath added a comment.

In https://reviews.llvm.org/D43662#1016939, @vsk wrote:

> > What do you think about a syntax like:
> > 
> > lldb_utility::CleanUp cleanup_our(::close, our_socket); // The CleanUp constructor creates the std::function internally
> @labath I find the current version of the code more readable, since the behavior of the cleanup is apparent in less time. And I'd prefer to keep the CleanUp utility very small, without any scope for expansion. I don't think the ergonomics of the new syntax outweigh the advantages of a simpler approach.

I don't think this would complicate anything. It should literally be a matter of replacing your constructor with:

  template<typename F, typename... Args>
  CleanUp(F &&f, Args &&..args)
      : PerformCleanup(true), Clean(std::bind(std::forward<F>(f), std::forward<Args>(args)...) {}

Although I can see how you may find the other usage syntax more understandable, so I am not adamant about this...


More information about the lldb-commits mailing list