vsk added a comment. In https://reviews.llvm.org/D43662#1016950, @labath wrote:
> 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... Thanks for sharing this (I haven't reached for parameter packs before :). I'll still maintain that having the lambda written-out explicitly requires less effort from prospective readers, but am happy to be outvoted on this one. Pavel, others, wdyt? https://reviews.llvm.org/D43662 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits