FIFE
be64c707dea6b3250bd4355bf5c825d25920087d
purge.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2005-2019 by the FIFE team *
3
* http://www.fifengine.net *
4
* This file is part of FIFE. *
5
* *
6
* FIFE is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Lesser General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2.1 of the License, or (at your option) any later version. *
10
* *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14
* Lesser General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Lesser General Public *
17
* License along with this library; if not, write to the *
18
* Free Software Foundation, Inc., *
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20
***************************************************************************/
21
22
23
// Delete pointers in an STL sequence container
24
#ifndef PURGE_H
25
#define PURGE_H
26
#include <algorithm>
27
28
template
<
class
Seq>
void
purge
(Seq& c) {
29
typename
Seq::iterator i;
30
for
(i = c.begin(); i != c.end(); i++) {
31
delete
*i;
32
*i = 0;
33
}
34
}
35
36
// Iterator version:
37
template
<
class
InpIt>
38
void
purge
(InpIt begin, InpIt end) {
39
while
(begin != end) {
40
delete
*begin;
41
*begin = 0;
42
begin++;
43
}
44
}
45
template
<
class
Seq>
void
purge_map
(Seq& c) {
46
typename
Seq::iterator i;
47
for
(i = c.begin(); i != c.end(); i++) {
48
delete
i->second;
49
i->second = 0;
50
}
51
}
52
53
// Iterator version:
54
template
<
class
InpIt>
55
void
purge_map
(InpIt begin, InpIt end) {
56
while
(begin != end) {
57
delete
begin->second;
58
begin->second = 0;
59
begin++;
60
}
61
}
62
#endif // PURGE_H
purge
void purge(Seq &c)
Definition:
purge.h:28
purge_map
void purge_map(Seq &c)
Definition:
purge.h:45
engine
core
util
structures
purge.h
Generated on Sun Feb 5 2023 01:00:06 for FIFE by
1.8.13