mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 06:44:06 +02:00
Dependency::customDeleter uses a lambda
This commit is contained in:
parent
f91a19a918
commit
0bd97ce40c
1 changed files with 9 additions and 2 deletions
|
@ -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)> DeleterFct;
|
||||
|
||||
protected:
|
||||
virtual ~Dependency() {}
|
||||
virtual void customDeleter() {
|
||||
delete this;
|
||||
_customDeleterFct(this);
|
||||
}
|
||||
|
||||
|
||||
void setCustomDeleterFct(DeleterFct customDeleterFct) { _customDeleterFct = customDeleterFct; }
|
||||
DeleterFct _customDeleterFct = [](Dependency* pointer) { delete pointer; };
|
||||
|
||||
friend class DependencyManager;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue