⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qptrlist.h

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 H
字号:
/************************************************************************ Copyright (C) 2000-2005 Trolltech AS.  All rights reserved.**** This file is part of the Qtopia Environment.** ** This program is free software; you can redistribute it and/or modify it** under the terms of the GNU General Public License as published by the** Free Software Foundation; either version 2 of the License, or (at your** option) any later version.** ** A copy of the GNU GPL license version 2 is included in this package as ** LICENSE.GPL.**** This program is distributed in the hope that it will be useful, but** WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ** See the GNU General Public License for more details.**** In addition, as a special exception Trolltech gives permission to link** the code of this program with Qtopia applications copyrighted, developed** and distributed by Trolltech under the terms of the Qtopia Personal Use** License Agreement. You must comply with the GNU General Public License** in all respects for all of the code used other than the applications** licensed under the Qtopia Personal Use License Agreement. If you modify** this file, you may extend this exception to your version of the file,** but you are not obligated to do so. If you do not wish to do so, delete** this exception statement from your version.** ** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QPTRLIST_H#define QPTRLIST_H#ifndef QT_H#include "qglist.h"#endif // QT_Htemplate<class type>class QPtrListStdIterator : public QGListStdIterator{public:    inline QPtrListStdIterator( QLNode* n ): QGListStdIterator(n){}    type *operator*() { return node ? (type *)node->getData() : 0; }    inline QPtrListStdIterator<type> operator++()    { return node = next(); return *this; }    inline QPtrListStdIterator<type> operator++(int)    { QLNode* n = node; node = next(); return QPtrListStdIterator<type>( n ); }    inline bool operator==( const QPtrListStdIterator<type>& it ) const { return node == it.node; }    inline bool operator!=( const QPtrListStdIterator<type>& it ) const { return node != it.node; }};template<class type>class QPtrList#ifdef Q_QDOC	: public QPtrCollection#else	: public QGList#endif{public:    QPtrList()				{}    QPtrList( const QPtrList<type> &l ) : QGList(l) {}    ~QPtrList()				{ clear(); }    QPtrList<type> &operator=(const QPtrList<type> &l)			{ return (QPtrList<type>&)QGList::operator=(l); }    bool operator==( const QPtrList<type> &list ) const    { return QGList::operator==( list ); }    bool operator!=( const QPtrList<type> &list ) const    { return !QGList::operator==( list ); }    uint  count()   const		{ return QGList::count(); }    bool  isEmpty() const		{ return QGList::count() == 0; }    bool  insert( uint i, const type *d){ return QGList::insertAt(i,(QPtrCollection::Item)d); }    void  inSort( const type *d )	{ QGList::inSort((QPtrCollection::Item)d); }    void  prepend( const type *d )	{ QGList::insertAt(0,(QPtrCollection::Item)d); }    void  append( const type *d )	{ QGList::append((QPtrCollection::Item)d); }    bool  remove( uint i )		{ return QGList::removeAt(i); }    bool  remove()			{ return QGList::remove((QPtrCollection::Item)0); }    bool  remove( const type *d )	{ return QGList::remove((QPtrCollection::Item)d); }    bool  removeRef( const type *d )	{ return QGList::removeRef((QPtrCollection::Item)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(); }    void  sort()			{ QGList::sort(); }    int	  find( const type *d )		{ return QGList::find((QPtrCollection::Item)d); }    int	  findNext( const type *d )	{ return QGList::find((QPtrCollection::Item)d,FALSE); }    int	  findRef( const type *d )	{ return QGList::findRef((QPtrCollection::Item)d); }    int	  findNextRef( const type *d ){ return QGList::findRef((QPtrCollection::Item)d,FALSE);}    uint  contains( const type *d ) const { return QGList::contains((QPtrCollection::Item)d); }    uint  containsRef( const type *d ) const					{ return QGList::containsRef((QPtrCollection::Item)d); }    bool replace( uint i, const type *d ) { return QGList::replaceAt( i, (QPtrCollection::Item)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); }    // standard iterators    typedef QPtrListStdIterator<type> Iterator;    typedef QPtrListStdIterator<type> ConstIterator;    inline Iterator begin() { return QGList::begin(); }    inline ConstIterator begin() const { return QGList::begin(); }    inline ConstIterator constBegin() const { return QGList::begin(); }    inline Iterator end() { return QGList::end(); }    inline ConstIterator end() const { return QGList::end(); }    inline ConstIterator constEnd() const { return QGList::end(); }    inline Iterator erase( Iterator it ) { return QGList::erase( it ); }    // stl syntax compatibility    typedef Iterator iterator;    typedef ConstIterator const_iterator;#ifdef Q_QDOCprotected:    virtual int compareItems( QPtrCollection::Item, QPtrCollection::Item );    virtual QDataStream& read( QDataStream&, QPtrCollection::Item& );    virtual QDataStream& write( QDataStream&, QPtrCollection::Item ) const;#endifprivate:    void  deleteItem( Item d );};#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)template<> inline void QPtrList<void>::deleteItem( QPtrCollection::Item ){}#endiftemplate<class type> inline void QPtrList<type>::deleteItem( QPtrCollection::Item d ){    if ( del_item ) delete (type *)d;}template<class type>class QPtrListIterator : public QGListIterator{public:    QPtrListIterator(const QPtrList<type> &l) :QGListIterator((QGList &)l) {}   ~QPtrListIterator()	      {}    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 *operator*()         { return (type *)QGListIterator::get(); }    // No good, since QPtrList<char> (ie. QStrList fails...    //    // MSVC++ gives warning    // Sunpro C++ 4.1 gives error    //    type *operator->()        { 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);}    QPtrListIterator<type>& operator=(const QPtrListIterator<type>&it)			      { QGListIterator::operator=(it); return *this; }};#ifndef QT_NO_COMPAT#define QList QPtrList#define QListIterator QPtrListIterator#endif#define Q_DEFINED_QPTRLIST#include "qwinexport.h"#endif // QPTRLIST_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -