summaryrefslogtreecommitdiff
path: root/qmake/include/qptrcollection.h
Unidiff
Diffstat (limited to 'qmake/include/qptrcollection.h') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/include/qptrcollection.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/qmake/include/qptrcollection.h b/qmake/include/qptrcollection.h
new file mode 100644
index 0000000..4f121fa
--- a/dev/null
+++ b/qmake/include/qptrcollection.h
@@ -0,0 +1,76 @@
1/****************************************************************************
2**
3** Definition of base class for all pointer based collection classes
4**
5**
6** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
7**
8** This file is part of the tools module of the Qt GUI Toolkit.
9**
10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file.
13**
14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file.
18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software.
22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30**
31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you.
33**
34**********************************************************************/
35
36#ifndef QPTRCOLLECTION_H
37#define QPTRCOLLECTION_H
38
39#ifndef QT_H
40#include "qglobal.h"
41#endif // QT_H
42
43
44class QGVector;
45class QGList;
46class QGDict;
47
48
49 class Q_EXPORT QPtrCollection // inherited by all collections
50{
51public:
52 bool autoDelete() const { return del_item; }
53 void setAutoDelete( bool enable ) { del_item = enable; }
54
55 virtual uint count() const = 0;
56 virtual void clear() = 0; // delete all objects
57
58 typedef void *Item; // generic collection item
59
60protected:
61 QPtrCollection() { del_item = FALSE; } // no deletion of objects
62 QPtrCollection(const QPtrCollection &) { del_item = FALSE; }
63 virtual ~QPtrCollection() {}
64
65 bool del_item; // default FALSE
66
67 virtual Item newItem( Item ); // create object
68 virtual void deleteItem( Item ) = 0;// delete object
69};
70
71
72#ifndef QT_NO_COMPAT
73#define QCollection QPtrCollection
74#endif
75
76#endif // QPTRCOLLECTION_H