ff6156204d
... instead of raw pointers or QSharedPointer. Raw pointers are, of course, a no-no in modern code. In particular, when the result is then held in shared_ptr or QSharedPointer, make_shared or QSharedPointer::create() should be used to reduce number of memory allocations. Since this is private API, we're free to use std::shared_ptr, which does only half the atomic operations on copies, compared to QSharedPointer, so is more efficient. For either make_shared or QSharedPointer::create(), we need to work around the private ctor, which we do by inheriting a member-function local class from QColorTrcLut and make_shared'ing that. As a member-function-local class, it has access to the otherwise private parts of QColorTrcLut, including its default constructor. As a public subclass, shared_ptr has no problem performing the derived-to-base pointer adjustment in the return statement. This way, we can use make_shared even though our target's class' ctor is private. Change-Id: Icb11249b54cd5e544e692f6a0bf1f9dda1710454 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> |
||
---|---|---|
.. | ||
qbrush | ||
qcolor | ||
qcolorspace | ||
qpagelayout | ||
qpageranges | ||
qpagesize | ||
qpaintengine | ||
qpainter | ||
qpainterpath | ||
qpainterpathstroker | ||
qpathclipper | ||
qpdfwriter | ||
qpen | ||
qpolygon | ||
qregion | ||
qtransform | ||
qwmatrix | ||
CMakeLists.txt |