You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.7 KiB
68 lines
1.7 KiB
/***************************************************************************\
|
|
*
|
|
* File: TempHelp.inl
|
|
*
|
|
* History:
|
|
* 3/30/2000: JStall: Created
|
|
*
|
|
* Copyright (C) 2000 by Microsoft Corporation. All rights reserved.
|
|
*
|
|
\***************************************************************************/
|
|
|
|
|
|
#if !defined(BASE__TempHeap_inl__INCLUDED)
|
|
#define BASE__TempHeap_inl__INCLUDED
|
|
#pragma once
|
|
|
|
/***************************************************************************\
|
|
*****************************************************************************
|
|
*
|
|
* class TempHeap
|
|
*
|
|
*****************************************************************************
|
|
\***************************************************************************/
|
|
|
|
//------------------------------------------------------------------------------
|
|
inline
|
|
TempHeap::~TempHeap()
|
|
{
|
|
Destroy();
|
|
}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
inline void
|
|
TempHeap::Destroy()
|
|
{
|
|
FreeAll(TRUE /* Complete */);
|
|
}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
inline BOOL
|
|
TempHeap::IsCompletelyFree() const
|
|
{
|
|
return (m_ppageCur == NULL) && (m_ppageLarge == NULL);
|
|
}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
inline void
|
|
TempHeap::Lock()
|
|
{
|
|
m_cLocks++;
|
|
}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
inline void
|
|
TempHeap::Unlock()
|
|
{
|
|
AssertMsg(m_cLocks > 0, "Must have an outstanding lock");
|
|
if (--m_cLocks == 0) {
|
|
FreeAll(FALSE);
|
|
}
|
|
}
|
|
|
|
|
|
#endif // BASE__TempHeap_inl__INCLUDED
|