33 lines
780 B
C++
33 lines
780 B
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: IObjectContainer.h: interface for the ObjectContainer class.
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef IOBJECTCONTAINER_H
|
|
#define IOBJECTCONTAINER_H
|
|
|
|
#pragma once
|
|
|
|
class IObjectContainer
|
|
{
|
|
public:
|
|
virtual ~IObjectContainer() {};
|
|
|
|
virtual void Init() = 0;
|
|
|
|
virtual bool Add(void * newObject) = 0;
|
|
virtual bool Remove(void * object) = 0;
|
|
virtual void Clear(bool freeElementsMemory) = 0;
|
|
|
|
virtual void * GetFirst() = 0;
|
|
virtual void * GetNext() = 0;
|
|
|
|
virtual int CountElements() = 0;;
|
|
virtual bool Contains(void * object) = 0;
|
|
virtual bool IsEmpty() = 0;
|
|
};
|
|
|
|
#endif // !defined IOBJECTCONTAINER_H
|