qvaluestack.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 **
4 ** Definition of QValueStack class
5 **
6 ** Created : 990925
7 **
8 ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
9 **
10 ** This file is part of the tools module of the Qt GUI Toolkit.
11 **
12 ** This file may be distributed under the terms of the Q Public License
13 ** as defined by Trolltech AS of Norway and appearing in the file
14 ** LICENSE.QPL included in the packaging of this file.
15 **
16 ** This file may be distributed and/or modified under the terms of the
17 ** GNU General Public License version 2 as published by the Free Software
18 ** Foundation and appearing in the file LICENSE.GPL included in the
19 ** packaging of this file.
20 **
21 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22 ** licenses may use this file in accordance with the Qt Commercial License
23 ** Agreement provided with the Software.
24 **
25 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27 **
28 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29 ** information about Qt Commercial License Agreements.
30 ** See http://www.trolltech.com/qpl/ for QPL licensing information.
31 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
32 **
33 ** Contact info@trolltech.com if any conditions of this licensing are
34 ** not clear to you.
35 **
36 **********************************************************************/
37 
38 #ifndef QVALUESTACK_H
39 #define QVALUESTACK_H
40 
41 #ifndef QT_H
42 #include "qvaluelist.h"
43 #endif // QT_H
44 
45 
46 template<class T>
47 class Q_EXPORT QValueStack : public QValueList<T>
48 {
49 public:
52  void push( const T& d ) { QValueList<T>::append(d); }
53  T pop()
54  {
55  T elem( this->last() );
56  if ( !this->isEmpty() )
57  this->remove( this->fromLast() );
58  return elem;
59  }
60  T& top() { return this->last(); }
61  const T& top() const { return this->last(); }
62 };
63 
64 #endif
Iterator append(const T &x)
Definition: qvaluelist.h:372
const T & top() const
Definition: qvaluestack.h:61
T & last()
Definition: qvaluelist.h:380
Iterator fromLast()
Definition: qvaluelist.h:365
void push(const T &d)
Definition: qvaluestack.h:52
bool isEmpty() const
Definition: qvaluelist.h:368
#define Q_EXPORT
Definition: qglobal.h:468