summaryrefslogtreecommitdiffstats
path: root/src/leeds/base/singletonManager.cpp
blob: 9ff9f28c4f92334b859fef39f9f54b7c08875f6b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "common.h"

#include "singletonManager.h"

namespace base
{

cSingletonManager& SingletonManager()
{
	static cSingletonManager manager;
	return manager;
}

cSingletonManager::~cSingletonManager()
{
	Purge();
}

void cSingletonManager::Add(cSingletonBase* node)
{
	node->next = head;
	if (!head)
		tail = node;
	head = node;
}

void cSingletonManager::Purge()
{
	for (cSingletonBase* node = tail; node; node = tail) {
		tail = node->next;
		delete node;
	}
}


}