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