Number5
Visualisierung 2 Project - Florian Schober (0828151, f.schober@live.com), Andreas Walch (0926780, walch.andreas89@gmail.com)
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
IdCache.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Configuration.hpp
"
4
10
template
<
typename
TId>
11
class
IdCache
12
{
13
vector<TId>
m_unusedIds
;
14
TId
m_highestId
;
16
public
:
20
IdCache
()
21
:
m_highestId
(static_cast<TId>(1))
22
{ }
23
28
TId
createId
()
29
{
30
if
(
m_unusedIds
.empty())
31
return
m_highestId
++;
32
33
auto
id
=
m_unusedIds
.back();
34
m_unusedIds
.pop_back();
35
return
id;
36
}
41
void
deleteId
(TId
id
)
42
{
43
m_unusedIds
.push_back(
id
);
44
}
45
50
void
reset
()
51
{
52
m_highestId
=
static_cast<
TId
>
(1);
53
m_unusedIds
.clear();
54
}
55
};
IdCache::createId
TId createId()
Definition:
IdCache.hpp:28
IdCache::IdCache
IdCache()
Definition:
IdCache.hpp:20
Configuration.hpp
IdCache::reset
void reset()
Definition:
IdCache.hpp:50
IdCache
Definition:
IdCache.hpp:11
IdCache::deleteId
void deleteId(TId id)
Definition:
IdCache.hpp:41
IdCache::m_highestId
TId m_highestId
Definition:
IdCache.hpp:14
IdCache::m_unusedIds
vector< TId > m_unusedIds
Definition:
IdCache.hpp:13
Generated on Fri Jun 6 2014 13:57:28 for Number5 by
1.8.7