libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
GlobalFreeDeallocator.hpp
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright © 2002 by J.M.McGuiness, coder@hussar.me.uk
3
**
4
** This library is free software; you can redistribute it and/or
5
** modify it under the terms of the GNU Lesser General Public
6
** License as published by the Free Software Foundation; either
7
** version 2.1 of the License, or (at your option) any later version.
8
**
9
** This library is distributed in the hope that it will be useful,
10
** but WITHOUT ANY WARRANTY; without even the implied warranty of
11
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
** Lesser General Public License for more details.
13
**
14
** You should have received a copy of the GNU Lesser General Public
15
** License along with this library; if not, write to the Free Software
16
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*/
18
19
#
pragma
once
20
21
namespace
jmmcg
{
namespace
LIBJMMCG_VER_NAMESPACE {
namespace
NTUtils {
22
23
template
<
class
T>
24
struct
GlobalFreeDeallocator
:
public
deallocator
<
T
> {
25
inline
__stdcall
GlobalFreeDeallocator
(
void
)
26
:
deallocator
<
T
> () {
27
}
28
inline
__stdcall
~
GlobalFreeDeallocator
(
void
) {
29
}
30
31
inline
void
__fastcall
operator
()(T *t)
const
{
32
if
(t) {
33
register
HLOCAL ret=::GlobalFree(t);
34
JMMCG_TRACE(_T(
"GlobalFreeDeallocator::~operator()(): Windows error code: "
)<<NTUtils::win_exception::StrFromWinErr(ret ? ::GetLastError() : 0));
35
}
36
}
37
};
38
39
} } }
experimental
NT-based
NTSpecific
GlobalFreeDeallocator.hpp
Generated on Tue May 11 2021 17:31:30 for libjmmcg by
1.9.2