diff options
author | Michele Calgaro <[email protected]> | 2024-07-07 14:56:09 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2024-07-07 14:56:09 +0900 |
commit | 87d29563e3ccdeb7fea0197e262e667ef323ff9c (patch) | |
tree | 2d674f204c5205ca577a782e1b50583afd563972 /src/tools/qdeepcopy.cpp | |
parent | 628b0bb74c3fc327efff8add9c73ada04b1cbea2 (diff) | |
download | tqt3-87d29563e3ccdeb7fea0197e262e667ef323ff9c.tar.gz tqt3-87d29563e3ccdeb7fea0197e262e667ef323ff9c.zip |
Rename utility class nt* related files to equivalent tq*
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'src/tools/qdeepcopy.cpp')
-rw-r--r-- | src/tools/qdeepcopy.cpp | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/src/tools/qdeepcopy.cpp b/src/tools/qdeepcopy.cpp deleted file mode 100644 index ea23fa639..000000000 --- a/src/tools/qdeepcopy.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** -** -** Implementation of TQDeepCopy class -** -** Created : 20020613 -** -** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the kernel module of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at [email protected]. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "ntqdeepcopy.h" - -/*! - \class TQDeepCopy ntqdeepcopy.h - \brief The TQDeepCopy class is a template class which ensures that - implicitly shared and explicitly shared classes reference unique - data. - - \reentrant - - \ingroup tools - \ingroup shared - - Normally, shared copies reference the same data to optimize memory - use and for maximum speed. In the example below, \c s1, \c s2, \c - s3, \c s4 and \c s5 share data. - - \code - // all 5 strings share the same data - TQString s1 = "abcd"; - TQString s2 = s1; - TQString s3 = s2; - TQString s4 = s3; - TQString s5 = s2; - \endcode - - TQDeepCopy can be used several ways to ensure that an object - references unique, unshared data. In the example below, \c s1, \c - s2 and \c s5 share data, while neither \c s3 nor \c s4 share data. - \code - // 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; - \endcode - - In the example below, \c s1, \c s2 and \c s5 share data, and \c s3 - and \c s4 share data. - \code - // 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; - \endcode - - TQDeepCopy can also provide safety in multithreaded applications - that use shared classes. In the example below, the variable \c - global_string is used safely since the data contained in \c - global_string is always a deep copy. This ensures that all threads - get a unique copy of the data, and that any assignments to \c - global_string will result in a deep copy. - - \code - 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 ); - } - \endcode - - \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: - \list - \i TQMemArray (including subclasses like TQByteArray and TQCString) - \i TQMap - \i TQString - \i TQValueList (including subclasses like TQStringList and TQValueStack) - \i TQValueVector - \endlist - - \sa \link threads.html Thread Support in TQt \endlink -*/ - -/*! - \fn TQDeepCopy::TQDeepCopy() - - Constructs an empty instance of type \e T. -*/ - -/*! - \fn TQDeepCopy::TQDeepCopy( const T &t ) - - Constructs a deep copy of \a t. -*/ - -/*! - \fn TQDeepCopy<T>& TQDeepCopy::operator=( const T &t ) - - Assigns a deep copy of \a t. -*/ - -/*! - \fn TQDeepCopy::operator T () - - Returns a deep copy of the encapsulated data. -*/ - |