#pragma once
#ifndef CStack_h
#define CStack_h
//#pragma warning( disable : 4786 )
#pragma warning( disable : 4251 )
#include <list>
#include "FWCoreDLLImportExportDeclaration.h"
namespace CoreFW
{
template< typename ClassType >
class DLL_TEMPLATE_DECLARATION_SPECIFIER CStack
{
public:
CStack() ;
virtual ~CStack() ;
ClassType Pop( bool bRemoveFromStack = true ) ;
bool Push( ClassType Item ) ;
bool IsEmpty() const ;
bool IsFull() const ;
protected:
std::list< ClassType > m_StackList ;
} ;
} // End namespace
#if defined( DLL_TEMPLATE_DECLARATION_SPECIFIER_EXPORT )
#include "CStack.cpp"
#endif
#endif