aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/finally.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/finally.hh')
-rw-r--r--src/libutil/finally.hh7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libutil/finally.hh b/src/libutil/finally.hh
index 7760cfe9a..dee2e8d2f 100644
--- a/src/libutil/finally.hh
+++ b/src/libutil/finally.hh
@@ -1,14 +1,13 @@
#pragma once
-#include <functional>
-
/* A trivial class to run a function at the end of a scope. */
+template<typename Fn>
class Finally
{
private:
- std::function<void()> fun;
+ Fn fun;
public:
- Finally(std::function<void()> fun) : fun(fun) { }
+ Finally(Fn fun) : fun(std::move(fun)) { }
~Finally() { fun(); }
};