From 87d29563e3ccdeb7fea0197e262e667ef323ff9c Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 7 Jul 2024 14:56:09 +0900 Subject: Rename utility class nt* related files to equivalent tq* Signed-off-by: Michele Calgaro --- doc/html/tqasciidict.html | 325 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 325 insertions(+) create mode 100644 doc/html/tqasciidict.html (limited to 'doc/html/tqasciidict.html') diff --git a/doc/html/tqasciidict.html b/doc/html/tqasciidict.html new file mode 100644 index 000000000..0ba5ba8f3 --- /dev/null +++ b/doc/html/tqasciidict.html @@ -0,0 +1,325 @@ + + + + + +TQAsciiDict Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

TQAsciiDict Class Reference

+ +

The TQAsciiDict class is a template class that provides a dictionary based on char* keys. +More... +

#include <tqasciidict.h> +

Inherits TQPtrCollection. +

List of all member functions. +

Public Members

+ +

Important Inherited Members

+ +

Protected Members

+ +

Detailed Description

+ + +The TQAsciiDict class is a template class that provides a dictionary based on char* keys. +

+ +

+

TQAsciiDict is implemented as a template class. Define a template +instance TQAsciiDict<X> to create a dictionary that operates on +pointers to X (X*). +

A dictionary is a collection of key-value pairs. The key is a +char* used for insertion, removal and lookup. The value is a +pointer. Dictionaries provide very fast insertion and lookup. +

TQAsciiDict cannot handle Unicode keys; use the TQDict template +instead, which uses TQString keys. A TQDict has the same +performace as a TQAsciiDict. +

Example: +

+    TQAsciiDict<TQLineEdit> fields; // char* keys, TQLineEdit* values
+    fields.insert( "forename", new TQLineEdit( this ) );
+    fields.insert( "surname", new TQLineEdit( this ) );
+
+    fields["forename"]->setText( "Homer" );
+    fields["surname"]->setText( "Simpson" );
+
+    TQAsciiDictIterator<TQLineEdit> it( fields ); // See TQAsciiDictIterator
+    for( ; it.current(); ++it )
+        cout << it.currentKey() << ": " << it.current()->text() << endl;
+    cout << endl;
+
+    if ( fields["forename"] && fields["surname"] )
+        cout << fields["forename"]->text() << " " 
+            << fields["surname"]->text() << endl;  // Prints "Homer Simpson"
+
+    fields.remove( "forename" ); // Does not delete the line edit
+    if ( ! fields["forename"] )
+        cout << "forename is not in the dictionary" << endl;
+    
+ +In this example we use a dictionary to keep track of the line +edits we're using. We insert each line edit into the dictionary +with a unique name and then access the line edits via the +dictionary. See TQPtrDict, TQIntDict and TQDict. +

See TQDict for full details, including the choice of dictionary +size, and how deletions are handled. +

See also TQAsciiDictIterator, TQDict, TQIntDict, TQPtrDict, Collection Classes, Collection Classes, and Non-GUI Classes. + +


Member Function Documentation

+

TQAsciiDict::TQAsciiDict ( int size = 17, bool caseSensitive = TRUE, bool copyKeys = TRUE ) +

+ +

Constructs a dictionary optimized for less than size entries. +

We recommend setting size to a suitably large prime number (a +bit larger than the expected number of entries). This makes the +hash distribution better and will improve lookup performance. +

When caseSensitive is TRUE (the default) TQAsciiDict treats +"abc" and "Abc" as different keys; when it is FALSE "abc" and +"Abc" are the same. Case-insensitive comparison only considers the +26 letters in US-ASCII. +

If copyKeys is TRUE (the default), the dictionary copies keys +using strcpy(); if it is FALSE, the dictionary just copies the +pointers. + +

TQAsciiDict::TQAsciiDict ( const TQAsciiDict<type> & dict ) +

+ +

Constructs a copy of dict. +

Each item in dict is inserted into this dictionary. Only the +pointers are copied (shallow copy). + +

TQAsciiDict::~TQAsciiDict () +

+ +

Removes all items from the dictionary and destroys it. +

The items are deleted if auto-delete is enabled. +

All iterators that access this dictionary will be reset. +

See also setAutoDelete(). + +

bool TQPtrCollection::autoDelete () const +

+ +

Returns the setting of the auto-delete option. The default is FALSE. +

See also setAutoDelete(). + +

void TQAsciiDict::clear () [virtual] +

+ +

Removes all items from the dictionary. +

The removed items are deleted if auto-deletion is enabled. +

All dictionary iterators that operate on dictionary are reset. +

See also remove(), take(), and setAutoDelete(). + +

Reimplemented from TQPtrCollection. +

uint TQAsciiDict::count () const [virtual] +

+ +

Returns the number of items in the dictionary. +

See also isEmpty(). + +

Reimplemented from TQPtrCollection. +

type * TQAsciiDict::find ( const char * key ) const +

+ +

Returns the item associated with key, or 0 if the key does not +exist in the dictionary. +

This function uses an internal hashing algorithm to optimize +lookup. +

If there are two or more items with equal keys, then the item that +was most recently inserted will be found. +

Equivalent to the [] operator. +

See also operator[](). + +

void TQAsciiDict::insert ( const char * key, const type * item ) +

+ +

Inserts the key with the item into the dictionary. +

Multiple items can have the same key, in which case only the last +item will be accessible using operator[](). +

item may not be 0. +

See also replace(). + +

bool TQAsciiDict::isEmpty () const +

+ +

Returns TRUE if the dictionary is empty, i.e. count() == 0; +otherwise it returns FALSE. +

See also count(). + +

TQAsciiDict<type> & TQAsciiDict::operator= ( const TQAsciiDict<type> & dict ) +

+ +

Assigns dict to this dictionary and returns a reference to this +dictionary. +

This dictionary is first cleared and then each item in dict is +inserted into this dictionary. Only the pointers are copied +(shallow copy) unless newItem() has been reimplemented(). + +

type * TQAsciiDict::operator[] ( const char * key ) const +

+ +

Returns the item associated with key, or 0 if the key does +not exist in the dictionary. +

This function uses an internal hashing algorithm to optimize +lookup. +

If there are two or more items with equal keys, then the item that +was most recently inserted will be found. +

Equivalent to the find() function. +

See also find(). + +

TQDataStream & TQAsciiDict::read ( TQDataStream & s, TQPtrCollection::Item & item ) [virtual protected] +

+ +

Reads a dictionary item from the stream s and returns a +reference to the stream. +

The default implementation sets item to 0. +

See also write(). + +

bool TQAsciiDict::remove ( const char * key ) +

+ +

Removes the item associated with key from the dictionary. +Returns TRUE if successful, i.e. if the key existed in the +dictionary; otherwise returns FALSE. +

If there are two or more items with equal keys, then the most +recently inserted item will be removed. +

The removed item is deleted if auto-deletion is enabled. +

All dictionary iterators that refer to the removed item will be +set to point to the next item in the dictionary traversal order. +

See also take(), clear(), and setAutoDelete(). + +

void TQAsciiDict::replace ( const char * key, const type * item ) +

+ +

Replaces an item that has a key equal to key with item. +

If the item does not already exist, it will be inserted. +

item may not be 0. +

Equivalent to: +

+        TQAsciiDict<char> dict;
+            ...
+        if ( dict.find(key) )
+            dict.remove( key );
+        dict.insert( key, item );
+    
+ +

If there are two or more items with equal keys, then the most +recently inserted item will be replaced. +

See also insert(). + +

void TQAsciiDict::resize ( uint newsize ) +

+ +

Changes the size of the hashtable to newsize. The contents of +the dictionary are preserved but all iterators on the dictionary +become invalid. + +

void TQPtrCollection::setAutoDelete ( bool enable ) +

+ +

Sets the collection to auto-delete its contents if enable is +TRUE and to never delete them if enable is FALSE. +

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. +

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. +

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. +

See also autoDelete(). + +

Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

uint TQAsciiDict::size () const +

+ +

Returns the size of the internal hash array (as specified in the +constructor). +

See also count(). + +

void TQAsciiDict::statistics () const +

+ +

Debugging-only function that prints out the dictionary +distribution using tqDebug(). + +

type * TQAsciiDict::take ( const char * key ) +

+ +

Takes the item associated with key out of the dictionary +without deleting it (even if auto-deletion is enabled). +

If there are two or more items with equal keys, then the most +recently inserted item will be taken. +

Returns a pointer to the item taken out, or 0 if the key does not +exist in the dictionary. +

All dictionary iterators that refer to the taken item will be set +to point to the next item in the dictionary traversal order. +

See also remove(), clear(), and setAutoDelete(). + +

TQDataStream & TQAsciiDict::write ( TQDataStream & s, TQPtrCollection::Item ) const [virtual protected] +

+ +

Writes a dictionary item to the stream s and returns a +reference to the stream. +

See also read(). + + +


+This file is part of the TQt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.1