On Thursday 23 July 2015 11:24:05 Lorenz Haas wrote: > Hi, > > most - if not all - d-pointer/private implementation files are > *internal* and should not be used in a "normal" project - meaning a > project that just uses Qt. These files/classes are clearly marked by > > // > // W A R N I N G > // ------------- > // > // This file is not part of the Qt API. It exists purely as an > // implementation detail. This header file may change from version to > // version without notice, or even be removed. > // > // We mean it. > // > > What about QFutureInterface? Is it safe to use it in a normal project > or can it be changed at any time like the other internal classes? > > qfutureinterface.h/.cpp does not have the cited warning. > QFutureInterfaceBase is furthermore exported, QFutureInterface not. > Why? I also do not understand the comment in qfuture.h: > > public: // Warning: the d pointer is not documented and is considered > private. mutable QFutureInterface<T> d; > > Okay, it is not documented, but I can read the source code, or is all > not documented Qt code considered *internal*? Hope not. The comment > also mentions "private". This is only related to the access > specification, is it? Or does private here also means *internal*?
It's undocumented, and considered private, but since it's a template and thus must be visible, it effectively is public API and falls under the same restrictions for changes as public API. IOW: it cannot change (incompatibly) until Qt 6. If you're fine with that, go ahead and use it in your code. Thanks, Marc -- Marc Mutz <[email protected]> | Senior Software Engineer KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company Tel: +49-30-521325470 KDAB - The Qt Experts _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
