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/ntqdeepcopy.html | 168 ---------------------------------------------- 1 file changed, 168 deletions(-) delete mode 100644 doc/html/ntqdeepcopy.html (limited to 'doc/html/ntqdeepcopy.html') diff --git a/doc/html/ntqdeepcopy.html b/doc/html/ntqdeepcopy.html deleted file mode 100644 index 37e76561c..000000000 --- a/doc/html/ntqdeepcopy.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - -TQDeepCopy Class - - - - - - - -
- -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

TQDeepCopy Class Reference

- -

The TQDeepCopy class is a template class which ensures that -implicitly shared and explicitly shared classes reference unique -data. -More... -

All the functions in this class are reentrant when TQt is built with thread support.

-

#include <ntqdeepcopy.h> -

List of all member functions. -

Public Members

- -

Detailed Description

- - -The TQDeepCopy class is a template class which ensures that -implicitly shared and explicitly shared classes reference unique -data. -

-

- -

Normally, shared copies reference the same data to optimize memory -use and for maximum speed. In the example below, s1, s2, s3, s4 and s5 share data. -

-    // all 5 strings share the same data
-    TQString s1 = "abcd";
-    TQString s2 = s1;
-    TQString s3 = s2;
-    TQString s4 = s3;
-    TQString s5 = s2;
-    
- -

TQDeepCopy can be used several ways to ensure that an object -references unique, unshared data. In the example below, s1, s2 and s5 share data, while neither s3 nor s4 share data. -

-    // s1, s2 and s5 share the same data, neither s3 nor s4 are shared
-    TQString s1 = "abcd";
-    TQString s2 = s1;
-    TQDeepCopy<TQString> s3 = s2;  // s3 is a deep copy of s2
-    TQString s4 = s3;             // s4 is a deep copy of s3
-    TQString s5 = s2;
-    
- -

In the example below, s1, s2 and s5 share data, and s3 -and s4 share data. -

-    // s1, s2 and s5 share the same data, s3 and s4 share the same data
-    TQString s1 = "abcd";
-    TQString s2 = s1;
-    TQString s3 = TQDeepCopy<TQString>( s2 );  // s3 is a deep copy of s2
-    TQString s4 = s3;                        // s4 is a shallow copy of s3
-    TQString s5 = s2;
-    
- -

TQDeepCopy can also provide safety in multithreaded applications -that use shared classes. In the example below, the variable global_string is used safely since the data contained in global_string is always a deep copy. This ensures that all threads -get a unique copy of the data, and that any assignments to global_string will result in a deep copy. -

-    TQDeepCopy<TQString> global_string;  // global string data
-    TQMutex global_mutex;               // mutex to protext global_string
-
-    ...
-
-    void setGlobalString( const TQString &str )
-    {
-        global_mutex.lock();
-        global_string = str;           // global_string is a deep copy of str
-        global_mutex.unlock();
-    }
-
-    ...
-
-    void MyThread::run()
-    {
-        global_mutex.lock();
-        TQString str = global_string;          // str is a deep copy of global_string
-        global_mutex.unlock();
-
-        // process the string data
-        ...
-
-        // update global_string
-        setGlobalString( str );
-    }
-    
- -

Warning: It is the application developer's responsibility to -protect the object shared across multiple threads. -

The examples above use TQString, which is an implicitly shared -class. The behavior of TQDeepCopy is the same when using explicitly -shared classes like TQByteArray. -

Currently, TQDeepCopy works with the following classes: -

-

See also Thread Support in TQt, Implicitly and Explicitly Shared Classes, and Non-GUI Classes. - -


Member Function Documentation

-

TQDeepCopy::TQDeepCopy () -

- -

Constructs an empty instance of type T. - -

TQDeepCopy::TQDeepCopy ( const T & t ) -

- -

Constructs a deep copy of t. - -

TQDeepCopy::operator T () -

- -

Returns a deep copy of the encapsulated data. - -

TQDeepCopy<T> & TQDeepCopy::operator= ( const T & t ) -

- -

Assigns a deep copy of t. - - -


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