mirror of
https://github.com/Zygo/bees.git
synced 2025-06-16 17:46:16 +02:00
crucible: add cleanup class
Store a function (or closure) in an instance and invoke the function from the destructor. Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
@ -1,8 +1,9 @@
|
||||
default: libcrucible.so
|
||||
|
||||
OBJS = \
|
||||
crc64.o \
|
||||
chatter.o \
|
||||
cleanup.o \
|
||||
crc64.o \
|
||||
error.o \
|
||||
extentwalker.o \
|
||||
fd.o \
|
||||
|
17
lib/cleanup.cc
Normal file
17
lib/cleanup.cc
Normal file
@ -0,0 +1,17 @@
|
||||
#include <crucible/cleanup.h>
|
||||
|
||||
namespace crucible {
|
||||
|
||||
Cleanup::Cleanup(function<void()> func) :
|
||||
m_cleaner(func)
|
||||
{
|
||||
}
|
||||
|
||||
Cleanup::~Cleanup()
|
||||
{
|
||||
if (m_cleaner) {
|
||||
m_cleaner();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user