Move DirectPlay templates into directplayutils.h

refs #564
This commit is contained in:
Roland Winklmeier
2016-01-04 15:56:17 +01:00
parent ba4b4dbf95
commit 4d6c92e6c8
6 changed files with 49 additions and 28 deletions

View File

@@ -0,0 +1,45 @@
/* Copyright (C) 2016
* swift project community / contributors
*
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
//! \file
#ifndef BLACKSIMPLUGIN_FS9_DIRECTPLAYUTILS_H
#define BLACKSIMPLUGIN_FS9_DIRECTPLAYUTILS_H
namespace BlackSimPlugin
{
namespace Fs9
{
//! Safely release a COM allocated object
template <class T>
void SafeRelease(T*& pT)
{
if (pT) { pT->Release(); }
pT = nullptr;
}
//! Safely delete an allocated pointer
template <class T>
void SafeDelete(T*& pT)
{
delete pT;
pT = nullptr;
}
//! Safely delete an allocated array
template <class T>
void SafeDeleteArray(T*& pT)
{
delete[] pT;
pT = nullptr;
}
}
}
#endif