Logo Search packages:      
Sourcecode: wxwindows2.4 version File versions

stack.h

///////////////////////////////////////////////////////////////////////////////
// Name:        wx/stack.h
// Purpose:     STL stack clone
// Author:      Lindsay Mathieson
// Modified by:
// Created:     30.07.2001
// Copyright:   (c) 2001 Lindsay Mathieson <lindsay@mathieson.org>
// Licence:     wxWindows license
///////////////////////////////////////////////////////////////////////////////

#ifndef _WX_STACK_H_
#define _WX_STACK_H_

#include "wx/vector.h"

#define WX_DECLARE_STACK(obj, cls)\
class cls : public wxVectorBase\
{\
      WX_DECLARE_VECTORBASE(obj, cls);\
public:\
      void push(const obj& o)\
      {\
            bool rc = Alloc(size() + 1);\
            wxASSERT(rc);\
            Append(new obj(o));\
      };\
\
      void pop()\
      {\
            RemoveAt(size() - 1);\
      };\
\
      obj& top()\
      {\
            return *(obj *) GetItem(size() - 1);\
      };\
      const obj& top() const\
      {\
            return *(obj *) GetItem(size() - 1);\
      };\
}

#endif // _WX_STACK_H_


Generated by  Doxygen 1.6.0   Back to index