TrinityCore
Loading...
Searching...
No Matches
RefManager.h
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef _REFMANAGER_H
19
#define _REFMANAGER_H
20
21
#include "
Dynamic/LinkedList.h
"
22
#include "
Dynamic/LinkedReference/Reference.h
"
23
24
template
<
class
ReferenceType>
25
class
RefManager
:
public
LinkedListHead
26
{
27
public
:
28
typedef
LinkedListHead::Iterator<ReferenceType>
iterator
;
29
typedef
LinkedListHead::Iterator<ReferenceType const>
const_iterator
;
30
RefManager
() { }
31
32
ReferenceType*
front
() {
return
front_impl<ReferenceType>(); }
33
ReferenceType
const
*
front
()
const
{
return
front_impl<ReferenceType>(); }
34
35
iterator
begin
() {
return
begin_impl<ReferenceType>(); }
36
iterator
end
() {
return
end_impl<ReferenceType>(); }
37
38
const_iterator
begin
()
const
{
return
begin_impl<ReferenceType>(); }
39
const_iterator
end
()
const
{
return
end_impl<ReferenceType>(); }
40
41
virtual
~RefManager
()
42
{
43
clearReferences
();
44
}
45
46
void
clearReferences
()
47
{
48
while
(!
empty
())
49
front
()->invalidate();
50
}
51
};
52
53
#endif
LinkedList.h
Reference.h
LinkedListHead::Iterator
Definition
LinkedList.h:148
LinkedListHead
Definition
LinkedList.h:93
LinkedListHead::empty
bool empty() const
Definition
LinkedList.h:107
RefManager
Definition
RefManager.h:26
RefManager::~RefManager
virtual ~RefManager()
Definition
RefManager.h:41
RefManager::begin
const_iterator begin() const
Definition
RefManager.h:38
RefManager::end
iterator end()
Definition
RefManager.h:36
RefManager::const_iterator
LinkedListHead::Iterator< ReferenceType const > const_iterator
Definition
RefManager.h:29
RefManager::end
const_iterator end() const
Definition
RefManager.h:39
RefManager::begin
iterator begin()
Definition
RefManager.h:35
RefManager::iterator
LinkedListHead::Iterator< ReferenceType > iterator
Definition
RefManager.h:28
RefManager::RefManager
RefManager()
Definition
RefManager.h:30
RefManager::front
ReferenceType const * front() const
Definition
RefManager.h:33
RefManager::clearReferences
void clearReferences()
Definition
RefManager.h:46
RefManager::front
ReferenceType * front()
Definition
RefManager.h:32
server
shared
Dynamic
LinkedReference
RefManager.h
Generated on Sun May 10 2026 02:09:16 for TrinityCore by
1.9.8