summaryrefslogtreecommitdiff
path: root/qmake/include/qvaluestack.h
Unidiff
Diffstat (limited to 'qmake/include/qvaluestack.h') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/include/qvaluestack.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/qmake/include/qvaluestack.h b/qmake/include/qvaluestack.h
new file mode 100644
index 0000000..7e9bc48
--- a/dev/null
+++ b/qmake/include/qvaluestack.h
@@ -0,0 +1,64 @@
1/****************************************************************************
2** $Id$
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
46template<class T>
47class QValueStack : public QValueList<T>
48{
49public:
50 QValueStack() {}
51 ~QValueStack() {}
52 void push( const T& d ) { append(d); }
53 T pop()
54 {
55 T elem( this->last() );
56 if ( !this->isEmpty() )
57 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