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.
|
|
// --------------------------------------------------------------------------
// Module Name: CountedObjects.h
//
// Copyright (c) 1999-2000, Microsoft Corporation
//
// Base class that implements object reference counting
//
// History: 1999-08-17 vtan created
// 2000-02-01 vtan moved from Neptune to Whistler
// --------------------------------------------------------------------------
#ifndef _CountedObject_
#define _CountedObject_
#include "DynamicObject.h"
// --------------------------------------------------------------------------
// CCountedObject
//
// Purpose: This class is a base class that implements object reference
// counting. The default constructor is protected to disable
// instantiating this object unless subclassed. The reference
// count is private because subclasses really shouldn't need to
// know about the reference counting.
//
// History: 1999-08-17 vtan created
// 2000-02-01 vtan moved from Neptune to Whistler
// --------------------------------------------------------------------------
class CCountedObject : public CDynamicObject { protected: CCountedObject (void); virtual ~CCountedObject (void); public: void AddRef (void); void Release (void);
LONG GetCount (void) const; private: LONG _lReferenceCount; bool _fReleased; };
#endif /* _CountedObject_ */
|