15#ifndef LLVM_ADT_SCOPEEXIT_H
16#define LLVM_ADT_SCOPEEXIT_H
24 Callable ExitFunction;
28 template <
typename Fp>
32 : ExitFunction(
std::
move(Rhs.ExitFunction)), Engaged(Rhs.Engaged) {
54template <
typename Callable>
57 "scope_exit") auto make_scope_exit(Callable &&
F) {
#define LLVM_DEPRECATED(MSG, FIX)
scope_exit & operator=(const scope_exit &)=delete
scope_exit(const scope_exit &)=delete
scope_exit(scope_exit &&Rhs)
scope_exit & operator=(scope_exit &&)=delete
This is an optimization pass for GlobalISel generic memory operations.
scope_exit(Callable) -> scope_exit< Callable >
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.