diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-05-23 18:21:16 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-12 20:09:16 +0200 |
commit | f77d2e0319c25ca916ca23d96d18aa653004b37c (patch) | |
tree | c53320c53ac18cd758e4a002ea17c3f0f3d058b8 /mkspecs/linux-g++-maemo | |
parent | 55c6f09b3af5900d9734817b5c4d7ea1920a2644 (diff) |
Merge two internal classes of QSharedPointer and de-virtualise them
The two classes are QtSharedPointer::ExternalRefCountData and
ExternalRefCountWithDestroyFn. The split existed because of what Qt
4.5 did before custom deleters existed: the ExternalRefCountData class
was a virtual class that contained a destroy() virtual, which was in
charge of deleting the data or returning false if it didn't.
Turns out that virtual classes was a mistake. This commit
de-virtualises them -- we couldn't do it in Qt 4 because of binary
compatibility. This saves us one pointer-size in the size of the
private, plus the fact that fewer symbols are required (there is no
virtual table to be initialised).
Additionaly, since a deleter is always stored with the reference
count, we don't need the split between the two classes anymore.
Change-Id: I1cd9400561dcee089a406a57bd856b1730f18afc
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'mkspecs/linux-g++-maemo')
0 files changed, 0 insertions, 0 deletions