Eneboo - Documentación para desarrolladores
src/qt/include/qptrcollection.h
Ir a la documentación de este archivo.
00001 /****************************************************************************
00002 **
00003 ** Definition of base class for all pointer based collection classes
00004 **
00005 **
00006 ** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
00007 **
00008 ** This file is part of the tools module of the Qt GUI Toolkit.
00009 **
00010 ** This file may be distributed under the terms of the Q Public License
00011 ** as defined by Trolltech ASA of Norway and appearing in the file
00012 ** LICENSE.QPL included in the packaging of this file.
00013 **
00014 ** This file may be distributed and/or modified under the terms of the
00015 ** GNU General Public License version 2 as published by the Free Software
00016 ** Foundation and appearing in the file LICENSE.GPL included in the
00017 ** packaging of this file.
00018 **
00019 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
00020 ** licenses may use this file in accordance with the Qt Commercial License
00021 ** Agreement provided with the Software.
00022 **
00023 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00024 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00025 **
00026 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
00027 **   information about Qt Commercial License Agreements.
00028 ** See http://www.trolltech.com/qpl/ for QPL licensing information.
00029 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
00030 **
00031 ** Contact info@trolltech.com if any conditions of this licensing are
00032 ** not clear to you.
00033 **
00034 **********************************************************************/
00035 
00036 #ifndef QPTRCOLLECTION_H
00037 #define QPTRCOLLECTION_H
00038 
00039 #ifndef QT_H
00040 #include "qglobal.h"
00041 #endif // QT_H
00042 
00043 
00044 class QGVector;
00045 class QGList;
00046 class QGDict;
00047 
00048 
00049 class Q_EXPORT QPtrCollection                   // inherited by all collections
00050 {
00051 public:
00052     bool autoDelete()   const          { return del_item; }
00053     void setAutoDelete( bool enable )  { del_item = enable; }
00054 
00055     virtual uint  count() const = 0;
00056     virtual void  clear() = 0;                  // delete all objects
00057 
00058     typedef void *Item;                         // generic collection item
00059 
00060 protected:
00061     QPtrCollection() { del_item = FALSE; }              // no deletion of objects
00062     QPtrCollection(const QPtrCollection &) { del_item = FALSE; }
00063     virtual ~QPtrCollection() {}
00064 
00065     bool del_item;                              // default FALSE
00066 
00067     virtual Item     newItem( Item );           // create object
00068     virtual void     deleteItem( Item ) = 0;    // delete object
00069 };
00070 
00071 
00072 #ifndef QT_NO_COMPAT
00073 #define QCollection QPtrCollection
00074 #endif
00075 
00076 #endif // QPTRCOLLECTION_H
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'