Files
Sun1602/SUN3DEngine/include/ProgramCommon/wzqueue.h
T
2022-10-26 12:25:11 +08:00

99 lines
1.9 KiB
Objective-C

// wzqueue.h
#ifndef _PROGRAMCOMMON_WZQUEUE_H_
#define _PROGRAMCOMMON_WZQUEUE_H_
#include "wzlist.h"
//------------------------------------------------------------------------------
/**
@class CWzQueue
- Private 상속이다. 외부에서 CWzList멤버 함수 접근 불가
*/
template <class T>
class CWzQueue : private CWzList<T>
{
public:
// 생성자/소멸자
CWzQueue( void );
virtual ~CWzQueue( void );
// 데이타 추가(맨 끝)
BOOL Insert( const T& data );
// 데이타 꺼내기(맨 앞)
T Remove( void );
// 데이타 찾기
BOOL Find( const T& findData );
// 전체 데이타 제거
void CleanUp( void );
// 전체 데이타 수 얻기
int GetCount( void ) const;
};
//------------------------------------------------------------------------------
/**
*/
template <class T>
CWzQueue<T>::CWzQueue( void )
{
// empty
}
//------------------------------------------------------------------------------
/**
*/
template <class T>
CWzQueue<T>::~CWzQueue( void )
{
// empty
}
//------------------------------------------------------------------------------
/**
*/
template <class T>
BOOL CWzQueue<T>::Insert( const T& data )
{
return ( AddTail( data ) != NULL );
}
//------------------------------------------------------------------------------
/**
*/
template <class T>
T CWzQueue<T>::Remove( void )
{
return RemoveHead();
}
//------------------------------------------------------------------------------
/**
*/
template <class T>
BOOL CWzQueue<T>::Find( const T& findData )
{
return ( FindNode( findData ) != NULL );
}
//------------------------------------------------------------------------------
/**
*/
template <class T>
void CWzQueue<T>::CleanUp( void )
{
RemoveAll();
}
//------------------------------------------------------------------------------
/**
*/
template <class T>
int CWzQueue<T>::GetCount( void ) const
{
return CWzList<T>::GetCount();
}
#endif // _PROGRAMCOMMON_WZQUEUE_H_