/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2007.02.06 * ³» ¿ë : tPointerStack¸¦ ±¸Çö * ÁÖÀÇ»çÇ× : *===========================================================================*/ public: tPointerStack() { } explicit tPointerStack( unsigned int capacity ) { assert( capacity > 0 ); reserve( capacity ); } void Clear() { clear(); } void Reserve( unsigned int capacity ) { reserve( capacity ); } bool PushBack( const T val ) { /// ³Î Æ÷ÀÎÅÍ °Ë»ç if( val == 0 ) { assert( 0 && "null pointer" ); return false; } if( IsFull() ) { assert( 0 && "stack overflow" ); return false; } else { push_back( val ); return true; } } bool PopBack( ) { if( IsEmpty() ) { return false; } else { pop_back(); return true; } } T& Back() { assert( empty() == false ); return back(); } const T& Back() const { assert( empty() == false ); return back(); } unsigned int GetSize() const { return size(); } unsigned int GetCapacity() const { return capacity(); } bool IsEmpty() const { return empty(); } bool IsFull() const { return size() == capacity(); }