[Development] Semi-private headers in Qt

André Somers andre at familiesomers.nl
Thu May 21 11:33:10 CEST 2026


Since we have public headers and private headers, and these sit somewhere in between, how about “protected headers”?

“Experimental” and the likes suggest to me that this is a temporary state, and that’s not always true. 

Cheers,

André

Sent from my phone, please excuse my brevity

> On 21 May 2026, at 11:09, Artem Dyomin via Development <development at qt-project.org> wrote:
> 
> 
> In Qt, we have semi-private functionality for rhi, qpa, ssg, that contain a disclaimer in headers and docs limiting SC and BC guarantees, and requiring to link the private part of the module. The headers are deployed as <QtGui/rhi/qrhi.h> etc. 
> We want to add similar headers for Multimedia with GStreamer functionality. A good idea is having a good name for this kind of API (e.g. experimental) and deploy the headers as <QtModule/experimental/qheader.h>.
> The current plan is deploying new gstreamer-related headers under the new name, and then consider transferring existing headers to the new approach (with keeping old ones). 
> 
> In my view, the term "experimental" is the best as the term "experimental" in C++ highly correlates with how Qt declares it in terms of SC and BC.
> A discussion has been started in the CR adding "experimental".
> https://codereview.qt-project.org/c/qt/qtbase/+/736307
> 
> Other proposals are "semiprivate", "nocompat", "unstable" or similar.
> 
> Are you agreed that <QtModule/experimental/qheader.h> works fine for these semi-private headers?
> 
> 
> Confidential
> --
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20260521/17c37969/attachment.htm>


More information about the Development mailing list