#pragma once #include #include #include #include #include #include #include class ExternalFwdDecl; class LocalFwdDecl; template class QList; class MyObject : public QObject { Q_OBJECT public: MyObject(QObject* parent = nullptr); enum LocalEnum { Val1 = 1, Val2 }; Q_DECLARE_FLAGS(LocalEnums, LocalEnum) enum { AnonVal1, AnonVal2 }; double unnamedParameters(int, double); int addThree(int input) const; QList addThree(QList input) const; const QString addThree(const QString& input, const QString& prefix = QStringLiteral("Default")) const; int findNeedle(QStringList list, QString needle, Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith | Qt::MatchWrap)) const; int qtEnumTest(QFlags flags); int localEnumTest(QFlags flags); int functionParam(std::function fn); int groups(unsigned int maxCount = std::numeric_limits::max()) const; int const_parameters(const int input, QObject* const obj = 0) const; int externalFwdDecl(const ExternalFwdDecl& f); int externalFwdDeclRef(ExternalFwdDecl& f); int localFwdDecl(const LocalFwdDecl& f); int localListDecl(const QList& l); int localDeclListDecl(const QList& l); mode_t dummyFunc(QObject* parent) { return 0; } signals: void publicSlotCalled(); Q_SIGNALS: void privateSlotCalled(); void protectedSlotCalled(); public slots: void publicSlot1(); public Q_SLOTS: void publicSlot2(); protected slots: void protectedSlot1(); protected Q_SLOTS: void protectedSlot2(); private slots: void privateSlot1(); private Q_SLOTS: void privateSlot2(); }; class LocalFwdDecl { public: LocalFwdDecl(int value); int getValue() const; private: int m_value; }; class NonCopyable { public: NonCopyable(); ~NonCopyable(); private: int* const mNum; }; class NonCopyableByMacro { public: NonCopyableByMacro(); Q_DECLARE_TR_FUNCTIONS(NonCopyableByMacro) private: Q_DISABLE_COPY(NonCopyableByMacro) }; Q_DECLARE_METATYPE(NonCopyableByMacro*) class HasPrivateDefaultCtor { public: private: HasPrivateDefaultCtor(int param = 0); }; class Shared : public QSharedData { public: Shared(const Shared& other); }; namespace SomeNS { class NonCopyableInNS { public: NonCopyableInNS(); ~NonCopyableInNS(); private: int* const mNum; }; enum MyFlagType { EnumValueOne = 0x01, EnumValueTwo = 0x02 }; Q_DECLARE_FLAGS(MyFlags, MyFlagType) qreal useEnum(MyFlags flags = EnumValueOne); int customMethod(QList const& nums); typedef QString(*TagFormatter)(const QStringList &languages, const QString &tagName, const QHash &attributes, const QString &text, const QStringList &tagPath, SomeNS::MyFlagType format); } class TypedefUser { public: void setTagPattern(const QString &tagName, SomeNS::TagFormatter formatter = NULL, int leadingNewlines = 0); }; int anotherCustomMethod(QList const& nums); enum __attribute__((visibility("default"))) EnumWithAttributes { Foo, Bar = 2 };