15 #ifndef LLVM_ADT_SCOPE_EXIT_H 16 #define LLVM_ADT_SCOPE_EXIT_H 20 #include <type_traits> 27 Callable ExitFunction;
31 template <
typename Fp>
35 : ExitFunction(
std::move(Rhs.ExitFunction)), Engaged(Rhs.Engaged) {
57 template <
typename Callable>
61 std::forward<Callable>(
F));
scope_exit(scope_exit &&Rhs)
This class represents lattice values for constants.
LLVM_NODISCARD detail::scope_exit< typename std::decay< Callable >::type > make_scope_exit(Callable &&F)
#define LLVM_NODISCARD
LLVM_NODISCARD - Warn if a type or return value is discarded.
scope_exit & operator=(scope_exit &&)=delete