// Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #ifndef FORWARD_DECLARED_PARAM_H #define FORWARD_DECLARED_PARAM_H #include #include Q_MOC_INCLUDE("forwarddeclaredparam.h") // test support for const refs to forward-declared structs in parameters struct ForwardDeclaredParam; template class ForwardDeclaredContainer; struct FullyDefined {}; inline size_t qHash(const FullyDefined &, size_t seed = 0) { return seed; } inline bool operator==(const FullyDefined &, const FullyDefined &) { return true; } Q_DECLARE_METATYPE(FullyDefined) class ForwardDeclaredParamClass : public QObject { Q_OBJECT public slots: void slotNaked(const ForwardDeclaredParam &) {} void slotFDC(const ForwardDeclaredContainer &) {} void slotFDC(const ForwardDeclaredContainer &) {} void slotFDC(const ForwardDeclaredContainer &) {} void slotFDC(const ForwardDeclaredContainer &) {} void slotQSet(const QSet &) {} void slotQSet(const QSet &) {} void slotQSet(const QSet &) {} void slotQSet(const QSet &) {} signals: void signalNaked(const ForwardDeclaredParam &); void signalFDC(const ForwardDeclaredContainer &); void signalFDC(const ForwardDeclaredContainer &); void signalFDC(const ForwardDeclaredContainer &); void signalFDC(const ForwardDeclaredContainer &); void signalQSet(const QSet &); void signalQSet(const QSet &); void signalQSet(const QSet &); void signalQSet(const QSet &); }; #endif // FORWARD_DECLARED_PARAM_H