1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex,noarchive"><title>
Qt Toolkit - qlist.h include file
</title><style type="text/css"><!--
h3.fn,span.fn { margin-left: 15%; text-indent: -15%; }
a:link { text-decoration: none; }
--></style>
</head><body bgcolor="#ffffff">
<a href=index.html><img width=122 height=65 src=qtlogo.jpg alt="Qt logo" align=left border=0></a>
<center><img src=dochead.gif width=472 height=27></center>
<br clear=all>
<h1 align=center>qlist.h</h1><br clear="all">
This is the verbatim text of the qlist.h include file. It is is
provided only for illustration; the copyright
remains with Troll Tech.
<hr>
<pre>
/****************************************************************************
** $Id: qlist.h,v 2.5.2.3 1998/08/27 08:14:01 hanord Exp $
**
** Definition of QList template/macro class
**
** Created : 920701
**
** Copyright (C) 1992-1999 Troll Tech AS. All rights reserved.
**
** This file is part of Qt Free Edition, version 1.45.
**
** See the file LICENSE included in the distribution for the usage
** and distribution terms, or http://www.troll.no/free-license.html.
**
** IMPORTANT NOTE: You may NOT copy this file or any part of it into
** your own programs or libraries.
**
** Please see http://www.troll.no/pricing.html for information about
** Qt Professional Edition, which is this same library but with a
** license which allows creation of commercial/proprietary software.
**
*****************************************************************************/
#ifndef QLIST_H
#define QLIST_H
#ifndef QT_H
#include "qglist.h"
#endif // QT_H
#if defined(USE_MACROCLASS)
#include "qgeneric.h"
#if !defined(name2)
#define name2(a,b) name2_xx(a,b)
#define name2_xx(a,b) a##b
#endif
#if defined(DEFAULT_MACROCLASS)
#define QListdeclare QListMdeclare
#define QList QListM
#endif
#define QListM(type) name2(QListM_,type)
#define QListMdeclare(type) \
class Q_EXPORTM QListM(type) : public QGList \
{ \
public: \
QListM(type)() {} \
QListM(type)( const QListM(type) &l ) : QGList(l) {} \
~QListM(type)() { clear(); } \
QListM(type) &operator=(const QListM(type) &l) \
{ return (QListM(type)&)QGList::operator=(l); } \
uint count() const { return QGList::count(); } \
bool isEmpty() const { return QGList::count() == 0; } \
bool insert( uint i, const type *d){ return QGList::insertAt(i,(GCI)d); }\
void inSort( const type *d ) { QGList::inSort((GCI)d); } \
void append( const type *d ) { QGList::append((GCI)d); } \
bool remove( uint i ) { return QGList::removeAt(i); } \
bool remove() { return QGList::remove((GCI)0); } \
bool remove( const type *d ) { return QGList::remove((GCI)d); } \
bool removeRef( const type *d ) { return QGList::removeRef((GCI)d); } \
void removeNode( QLNode *n ) { QGList::removeNode(n); } \
bool removeFirst() { return QGList::removeFirst(); } \
bool removeLast() { return QGList::removeLast(); } \
type *take( uint i ) { return (type *)QGList::takeAt(i); } \
type *take() { return (type *)QGList::take(); } \
type *takeNode( QLNode *n ) { return (type *)QGList::takeNode(n);}\
void clear() { QGList::clear(); } \
int find( const type *d ) { return QGList::find((GCI)d); } \
int findNext( const type *d ) { return QGList::find((GCI)d,FALSE);} \
int findRef( const type *d ) { return QGList::findRef((GCI)d); } \
int findNextRef( const type *d ){ return QGList::findRef((GCI)d,FALSE);}\
uint contains( const type *d ) const { return QGList::contains((GCI)d); }\
uint containsRef( const type *d ) const \
{ return QGList::containsRef((GCI)d);}\
type *at( uint i ) { return (type *)QGList::at(i); } \
int at() const { return QGList::at(); } \
type *current() const { return (type *)QGList::get(); } \
QLNode *currentNode() const { return QGList::currentNode(); } \
type *getFirst() const { return (type *)QGList::cfirst(); } \
type *getLast() const { return (type *)QGList::clast(); } \
type *first() { return (type *)QGList::first(); } \
type *last() { return (type *)QGList::last(); } \
type *next() { return (type *)QGList::next(); } \
type *prev() { return (type *)QGList::prev(); } \
void toVector( QGVector *vec )const{ QGList::toVector(vec); } \
private: \
void deleteItem( GCI d ) { if ( del_item ) delete (type *)d; } \
}
#if defined(DEFAULT_MACROCLASS)
#define QListIteratordeclare QListIteratorMdeclare
#define QListIterator QListIteratorM
#endif
#define QListIteratorM(type) name2(QListIteratorM_,type)
#define QListIteratorMdeclare(type) \
class Q_EXPORTM QListIteratorM(type) : public QGListIterator \
{ \
public: \
QListIteratorM(type)(const QListM(type) &l) :QGListIterator((QGList &)l){}\
~QListIteratorM(type)() {} \
uint count() const { return list->count(); } \
bool isEmpty() const { return list->count() == 0; } \
bool atFirst() const { return QGListIterator::atFirst(); } \
bool atLast() const { return QGListIterator::atLast(); } \
type *toFirst() { return (type *)QGListIterator::toFirst(); } \
type *toLast() { return (type *)QGListIterator::toLast(); } \
operator type *() const { return (type *)QGListIterator::get(); } \
type *current() const { return (type *)QGListIterator::get(); } \
type *operator()() { return (type *)QGListIterator::operator()();} \
type *operator++() { return (type *)QGListIterator::operator++(); }\
type *operator+=(uint j) { return (type *)QGListIterator::operator+=(j);}\
type *operator--() { return (type *)QGListIterator::operator--(); }\
type *operator-=(uint j) { return (type *)QGListIterator::operator-=(j);}\
QListIteratorM(type)& operator=(const QListIteratorM(type)&it) \
{ QGListIterator::operator=(it); return *this; }\
}
#endif // USE_MACROCLASS
#if defined(USE_TEMPLATECLASS)
#if defined(DEFAULT_TEMPLATECLASS)
#undef QList
#define QList QListT
#endif
template<class type> class Q_EXPORT QListT : public QGList
{
public:
QListT() {}
QListT( const QListT<type> &l ) : QGList(l) {}
~QListT() { clear(); }
QListT<type> &operator=(const QListT<type> &l)
{ return (QListT<type>&)QGList::operator=(l); }
uint count() const { return QGList::count(); }
bool isEmpty() const { return QGList::count() == 0; }
bool insert( uint i, const type *d){ return QGList::insertAt(i,(GCI)d); }
void inSort( const type *d ) { QGList::inSort((GCI)d); }
void append( const type *d ) { QGList::append((GCI)d); }
bool remove( uint i ) { return QGList::removeAt(i); }
bool remove() { return QGList::remove((GCI)0); }
bool remove( const type *d ) { return QGList::remove((GCI)d); }
bool removeRef( const type *d ) { return QGList::removeRef((GCI)d); }
void removeNode( QLNode *n ) { QGList::removeNode(n); }
bool removeFirst() { return QGList::removeFirst(); }
bool removeLast() { return QGList::removeLast(); }
type *take( uint i ) { return (type *)QGList::takeAt(i); }
type *take() { return (type *)QGList::take(); }
type *takeNode( QLNode *n ) { return (type *)QGList::takeNode(n); }
void clear() { QGList::clear(); }
int find( const type *d ) { return QGList::find((GCI)d); }
int findNext( const type *d ) { return QGList::find((GCI)d,FALSE); }
int findRef( const type *d ) { return QGList::findRef((GCI)d); }
int findNextRef( const type *d ){ return QGList::findRef((GCI)d,FALSE);}
uint contains( const type *d ) const { return QGList::contains((GCI)d); }
uint containsRef( const type *d ) const
{ return QGList::containsRef((GCI)d); }
type *at( uint i ) { return (type *)QGList::at(i); }
int at() const { return QGList::at(); }
type *current() const { return (type *)QGList::get(); }
QLNode *currentNode() const { return QGList::currentNode(); }
type *getFirst() const { return (type *)QGList::cfirst(); }
type *getLast() const { return (type *)QGList::clast(); }
type *first() { return (type *)QGList::first(); }
type *last() { return (type *)QGList::last(); }
type *next() { return (type *)QGList::next(); }
type *prev() { return (type *)QGList::prev(); }
void toVector( QGVector *vec )const{ QGList::toVector(vec); }
private:
void deleteItem( GCI d ) { if ( del_item ) delete (type *)d; }
};
#if defined(DEFAULT_TEMPLATECLASS)
#undef QListIterator
#define QListIterator QListIteratorT
#endif
template<class type> class Q_EXPORT QListIteratorT : public QGListIterator
{
public:
QListIteratorT(const QListT<type> &l) :QGListIterator((QGList &)l) {}
~QListIteratorT() {}
uint count() const { return list->count(); }
bool isEmpty() const { return list->count() == 0; }
bool atFirst() const { return QGListIterator::atFirst(); }
bool atLast() const { return QGListIterator::atLast(); }
type *toFirst() { return (type *)QGListIterator::toFirst(); }
type *toLast() { return (type *)QGListIterator::toLast(); }
operator type *() const { return (type *)QGListIterator::get(); }
type *current() const { return (type *)QGListIterator::get(); }
type *operator()() { return (type *)QGListIterator::operator()();}
type *operator++() { return (type *)QGListIterator::operator++(); }
type *operator+=(uint j) { return (type *)QGListIterator::operator+=(j);}
type *operator--() { return (type *)QGListIterator::operator--(); }
type *operator-=(uint j) { return (type *)QGListIterator::operator-=(j);}
QListIteratorT<type>& operator=(const QListIteratorT<type>&it)
{ QGListIterator::operator=(it); return *this; }
};
#endif // USE_TEMPLATECLASS
#endif // QLIST_H
</pre>
<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright 1999 Troll Tech<td><a href="trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 1.45</div>
</table></div></address></body></html>
|