summaryrefslogtreecommitdiffstats
path: root/doc/man/man3/tqintdict.3qt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/man3/tqintdict.3qt')
-rw-r--r--doc/man/man3/tqintdict.3qt315
1 files changed, 315 insertions, 0 deletions
diff --git a/doc/man/man3/tqintdict.3qt b/doc/man/man3/tqintdict.3qt
new file mode 100644
index 000000000..bd0301c16
--- /dev/null
+++ b/doc/man/man3/tqintdict.3qt
@@ -0,0 +1,315 @@
+'\" t
+.TH QIntDict 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIntDict \- Template class that provides a dictionary based on long keys
+.SH SYNOPSIS
+\fC#include <ntqintdict.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIntDict\fR ( int size = 17 )"
+.br
+.ti -1c
+.BI "\fBQIntDict\fR ( const QIntDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QIntDict\fR ()"
+.br
+.ti -1c
+.BI "QIntDict<type> & \fBoperator=\fR ( const QIntDict<type> & dict )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( long key, const type * item )"
+.br
+.ti -1c
+.BI "void \fBreplace\fR ( long key, const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( long key )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( long key )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( long key ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( long key ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( uint newsize )"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIntDict class is a template class that provides a dictionary based on long keys.
+.PP
+QMap is an STL-compatible alternative to this class.
+.PP
+QIntDict is implemented as a template class. Define a template instance QIntDict<X> to create a dictionary that operates on pointers to X (X*).
+.PP
+A dictionary is a collection of key-value pairs. The key is an \fClong\fR used for insertion, removal and lookup. The value is a pointer. Dictionaries provide very fast insertion and lookup.
+.PP
+Example:
+.PP
+.nf
+.br
+ QIntDict<QLineEdit> fields; // long int keys, QLineEdit* values
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ fields.insert( i, new QLineEdit( this ) );
+.br
+.br
+ fields[0]->setText( "Homer" );
+.br
+ fields[1]->setText( "Simpson" );
+.br
+ fields[2]->setText( "45" );
+.br
+.br
+ QIntDictIterator<QLineEdit> it( fields );
+.br
+ for ( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ cout << fields[i]->text() << " "; // Prints "Homer Simpson 45"
+.br
+ cout << endl;
+.br
+.br
+ fields.remove( 1 ); // Does not delete the line edit
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ if ( fields[i] )
+.br
+ cout << fields[i]->text() << " "; // Prints "Homer 45"
+.br
+.fi
+.PP
+See QDict for full details, including the choice of dictionary size, and how deletions are handled.
+.PP
+See also QIntDictIterator, QDict, QAsciiDict, QPtrDict, Collection Classes, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIntDict::QIntDict ( int size = 17 )"
+Constructs a dictionary using an internal hash array of size \fIsize\fR.
+.PP
+Setting \fIsize\fR to a suitably large prime number (equal to or greater than the expected number of entries) makes the hash distribution better which leads to faster lookup.
+.SH "QIntDict::QIntDict ( const QIntDict<type> & dict )"
+Constructs a copy of \fIdict\fR.
+.PP
+Each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy).
+.SH "QIntDict::~QIntDict ()"
+Removes all items from the dictionary and destroys it.
+.PP
+All iterators that access this dictionary will be reset.
+.PP
+See also setAutoDelete().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QIntDict::clear ()\fC [virtual]\fR"
+Removes all items from the dictionary.
+.PP
+The removed items are deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that access this dictionary will be reset.
+.PP
+See also remove(), take(), and setAutoDelete().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QIntDict::count () const\fC [virtual]\fR"
+Returns the number of items in the dictionary.
+.PP
+See also isEmpty().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QIntDict::find ( long key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to operator[].
+.PP
+See also operator[]().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QIntDict::insert ( long key, const type * item )"
+Insert item \fIitem\fR into the dictionary using key \fIkey\fR.
+.PP
+Multiple items can have the same key, in which case only the last item will be accessible using operator[]().
+.PP
+\fIitem\fR may not be 0.
+.PP
+See also replace().
+.PP
+Example: scribble/scribble.cpp.
+.SH "bool QIntDict::isEmpty () const"
+Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QIntDict<type> & QIntDict::operator= ( const QIntDict<type> & dict )"
+Assigns \fIdict\fR to this dictionary and returns a reference to this dictionary.
+.PP
+This dictionary is first cleared and then each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy), unless newItem() has been reimplemented.
+.SH "type * QIntDict::operator[] ( long key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to the find() function.
+.PP
+See also find().
+.SH "QDataStream & QIntDict::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a dictionary item from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QIntDict::remove ( long key )"
+Removes the item associated with \fIkey\fR from the dictionary. Returns TRUE if successful, i.e. if the \fIkey\fR is in the dictionary; otherwise returns FALSE.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be removed.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that refer to the removed item will be set to point to the next item in the dictionary's traversal order.
+.PP
+See also take(), clear(), and setAutoDelete().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QIntDict::replace ( long key, const type * item )"
+If the dictionary has key \fIkey\fR, this key's item is replaced with \fIitem\fR. If the dictionary doesn't contain key \fIkey\fR, \fIitem\fR is inserted into the dictionary using key \fIkey\fR.
+.PP
+\fIitem\fR may not be 0.
+.PP
+Equivalent to:
+.PP
+.nf
+.br
+ QIntDict<char> dict;
+.br
+ // ...
+.br
+ if ( dict.find(key) )
+.br
+ dict.remove( key );
+.br
+ dict.insert( key, item );
+.br
+.fi
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be replaced.
+.PP
+See also insert().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QIntDict::resize ( uint newsize )"
+Changes the size of the hashtable to \fInewsize\fR. The contents of the dictionary are preserved, but all iterators on the dictionary become invalid.
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "uint QIntDict::size () const"
+Returns the size of the internal hash array (as specified in the constructor).
+.PP
+See also count().
+.SH "void QIntDict::statistics () const"
+Debugging-only function that prints out the dictionary distribution using tqDebug().
+.SH "type * QIntDict::take ( long key )"
+Takes the item associated with \fIkey\fR out of the dictionary without deleting it (even if auto-deletion is enabled).
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be taken.
+.PP
+Returns a pointer to the item taken out, or 0 if the key does not exist in the dictionary.
+.PP
+All dictionary iterators that refer to the taken item will be set to point to the next item in the dictionary's traversing order.
+.PP
+See also remove(), clear(), and setAutoDelete().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "QDataStream & QIntDict::write ( QDataStream & s, QPtrCollection::Item ) const\fC [virtual protected]\fR"
+Writes a dictionary item to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/ntqintdict.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (tqintdict.3qt) and the Qt
+version (3.3.8).