Merge pull request #4432 from Atlante45/dm_update

Dependency::customDeleter uses a lambda
This commit is contained in:
Stephen Birarda 2015-03-12 11:33:32 -07:00
commit 6c7e0eda6a

View file

@ -17,18 +17,25 @@
#include <QSharedPointer>
#include <QWeakPointer>
#include <functional>
#include <typeinfo>
#define SINGLETON_DEPENDENCY \
friend class DependencyManager;
class Dependency {
public:
typedef std::function<void(Dependency* pointer)> DeleterFunction;
protected:
virtual ~Dependency() {}
virtual void customDeleter() {
delete this;
_customDeleter(this);
}
void setCustomDeleter(DeleterFunction customDeleter) { _customDeleter = customDeleter; }
DeleterFunction _customDeleter = [](Dependency* pointer) { delete pointer; };
friend class DependencyManager;
};