Eris
1.3.23
Eris
DeleteLater.h
1
#ifndef ERIS_DELETE_LATER_H
2
#define ERIS_DELETE_LATER_H
3
4
namespace
Eris
5
{
6
7
class
BaseDeleteLater
8
{
9
public
:
10
virtual
~
BaseDeleteLater
() = 0;
11
};
12
13
14
template
<
class
T>
15
class
DerivedDeleteLater
:
public
BaseDeleteLater
16
{
17
public
:
18
DerivedDeleteLater
(T* ins) : m_instance(ins) { }
19
virtual
~
DerivedDeleteLater
()
20
{
21
delete
m_instance;
22
}
23
24
private
:
25
T* m_instance;
26
};
27
28
void
pushDeleteLater(
BaseDeleteLater
* bl);
29
30
void
execDeleteLaters();
31
32
template
<
class
T>
33
void
deleteLater(T* ins)
34
{
35
pushDeleteLater(
new
DerivedDeleteLater<T>
(ins));
36
}
37
38
}
// of namespace
39
40
#endif // ERIS_DELETE_LATER_H
Eris
Definition:
Account.cpp:33
Eris::DerivedDeleteLater
Definition:
DeleteLater.h:15
Eris::BaseDeleteLater
Definition:
DeleteLater.h:7
Generated on Mon Jan 1 2018 01:59:13 for Eris by
1.8.13