[Development] atomic reference counting implementation
philwave at gmail.com
Thu Aug 8 11:42:37 CEST 2019
> On the other hand, QSharedData's ref member is an implementation detail (the QRefCount class is even private API),
> and the semantics of ref/deref on it are undocumnted, so *that* could bechanged right now.
It is good to mention QRefCount aka QtPrivate::RefCount
except it is not used in QSharedData (QSharedData uses a "QAtomicInt ref")
All implicitly shared class should rely on a single optimized QtPrivate::RefCount
on the line of https://codereview.qt-project.org/c/qt/qtbase/+/66118
On Wed, 7 Aug 2019 22:26:11 +0200
Giuseppe D'Angelo via Development <development at qt-project.org> wrote:
> Il 07/08/19 20:00, Mutz, Marc via Development ha scritto:
> > This was discussed in
> > https://codereview.qt-project.org/c/qt/qtbase/+/66118. See, in
> > particular, Olivier's comment.
> > TL;DR: ref() is documented to be ordered, so cannot be changed.
> On the other hand, QSharedData's ref member is an implementation detail (the QRefCount class is even private API), and the semantics of ref/deref on it are undocumnted, so *that* could be changed right now. Although I'd still feel very uncomfortable at doing so.
> My 2 c,
> -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer
> KDAB (France) S.A.S., a KDAB Group company
> Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
> KDAB - The Qt, C++ and OpenGL Experts
More information about the Development