git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			45 lines
		
	
	
		
			977 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			977 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // 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 licence
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #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_
 | |
| 
 |