Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

42 lines
963 B

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1994 - 1995.
//
// File: xbuffer.hxx
//
// Contents: Buffer template that allows delayed allocation of the buffer
// and reference counting. The buffer is not freed until the
// object is deleted -- not when the refcount goes to 0.
//
// Templates: XBuffer
//
// History: 10 Mar 1995 dlee Created
//
//--------------------------------------------------------------------------
#pragma once
template<class T> class XBuffer : public XArray<T>
{
public:
XBuffer() : XArray<T>(), _cRefs(0)
{
}
BOOL InUse() { return _cRefs > 0; }
void AddRef() { _cRefs++; }
void Release() { Win4Assert(0 != _cRefs); _cRefs--; }
void Init( unsigned cElems )
{
XArray<T>::Init( cElems );
AddRef();
}
private:
unsigned _cRefs;
};