[PATCH] D48349: [ADT] Add llvm::unique_function which is like std::function but supporting move-only closures.
Tim Shen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 2 13:48:44 PDT 2018
timshen added inline comments.
================
Comment at: llvm/include/llvm/ADT/FunctionExtras.h:161
+public:
+ unique_function() = default;
+ unique_function(std::nullptr_t /*null_callable*/) {}
----------------
The default ctor doesn't initialize CallbackAndInlineFlag to a valid empty state, does it? We probably want to zero-initialize it.
`std::function`'s default ctor is not trivial either.
================
Comment at: llvm/include/llvm/ADT/FunctionExtras.h:181
+ unique_function(unique_function &&RHS) noexcept {
+ // Copy the callback and inline flag.
+ CallbackAndInlineFlag = RHS.CallbackAndInlineFlag;
----------------
`if (!(bool)RHS) { ... }`
Repository:
rL LLVM
https://reviews.llvm.org/D48349
More information about the llvm-commits
mailing list