diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2009-12-10 14:38:17 (GMT) |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2009-12-10 15:08:02 (GMT) |
commit | b6352d487491e4d25db8a008de75280a666b0fce (patch) | |
tree | a6704970d5c472468724b38cdad4360cdc1f123c /src/corelib/tools/qhash.cpp | |
parent | 46e080ba1b0b7fdb67eda60002991f6b20e0f0ab (diff) | |
download | Qt-b6352d487491e4d25db8a008de75280a666b0fce.zip Qt-b6352d487491e4d25db8a008de75280a666b0fce.tar.gz Qt-b6352d487491e4d25db8a008de75280a666b0fce.tar.bz2 |
add {QString,QByteArray,QList,QLinkedList,QHash,QMap,QVector}::isSharedWith()
these functions just compare the d pointers of two objects. this can be
used to verify the validity of cached data: you keep a copy of the
original data in your cache. consequently, any changes to the original
data must detach, so this function reflects whether the cached data is
still up-to-date.
of course, this is not thread safe, as the data might change right after
you check it, but that's a general problem of cache coherency which
needs to be handled further up the stack.
the functions are internal because the other detaching-related functions
are internal as well for reasons beyond me.
Reviewed-by: brad
Diffstat (limited to 'src/corelib/tools/qhash.cpp')
-rw-r--r-- | src/corelib/tools/qhash.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index c82c389..a616ac2 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -847,6 +847,11 @@ void QHashData::checkSanity() \internal */ +/*! \fn bool QHash::isSharedWith(const QHash<Key, T> &other) const + + \internal +*/ + /*! \fn void QHash::clear() Removes all items from the hash. |