Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/qtools/qstrlist.h

Source at commit 1406 created 12 years 10 months ago.
By meklort, Revert drivers.c so that kexts are only loaded when OSBundleRequired is set and that value is not safe mode. Added some comments about it too.
1/****************************************************************************
2**
3**
4** Definition of QStrList, QStrIList and QStrListIterator classes
5**
6** Created : 920730
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 QSTRLIST_H
39#define QSTRLIST_H
40
41#ifndef QT_H
42#include "qstring.h"
43#include "qlist.h"
44#include "qdatastream.h"
45#endif // QT_H
46
47
48#if defined(Q_TEMPLATEDLL)
49template class Q_EXPORT QList<char>;
50template class Q_EXPORT QListIterator<char>;
51#endif
52
53typedef QList<char>QStrListBase;
54typedef QListIterator<char>QStrListIterator;
55
56
57class Q_EXPORT QStrList : public QStrListBase
58{
59public:
60 QStrList( bool deepCopies=TRUE ) { dc = deepCopies; del_item = deepCopies; }
61 QStrList( const QStrList & );
62 ~QStrList(){ clear(); }
63 QStrList& operator=( const QStrList & );
64
65private:
66 QCollection::Item newItem( QCollection::Item d ) { return dc ? qstrdup( (const char*)d ) : d; }
67 void deleteItem( QCollection::Item d ) { if ( del_item ) delete[] (char*)d; }
68 int compareItems( QCollection::Item s1, QCollection::Item s2 ) { return qstrcmp((const char*)s1,
69 (const char*)s2); }
70#ifndef QT_NO_DATASTREAM
71 QDataStream &read( QDataStream &s, QCollection::Item &d )
72{ s >> (char *&)d; return s; }
73 QDataStream &write( QDataStream &s, QCollection::Item d ) const
74{ return s << (const char *)d; }
75#endif
76 bool dc;
77};
78
79
80class Q_EXPORT QStrIList : public QStrList// case insensitive string list
81{
82public:
83 QStrIList( bool deepCopies=TRUE ) : QStrList( deepCopies ) {}
84 ~QStrIList(){ clear(); }
85private:
86 int compareItems( QCollection::Item s1, QCollection::Item s2 )
87{ return qstricmp((const char*)s1,
88 (const char*)s2); }
89};
90
91
92inline QStrList & QStrList::operator=( const QStrList &strList )
93{
94 clear();
95 dc = strList.dc;
96 del_item = dc;
97 QStrListBase::operator=(strList);
98 return *this;
99}
100
101inline QStrList::QStrList( const QStrList &strList )
102 : QStrListBase( strList )
103{
104 dc = FALSE;
105 operator=(strList);
106}
107
108
109#endif // QSTRLIST_H
110

Archive Download this file

Revision: 1406