W3cubDocs

/Qt 6.9

<QOverload>

Functions for resolving overloads. More...

Header: #include <QOverload>

Functions

auto qConstOverload(T memberFunctionPointer)
auto qNonConstOverload(T memberFunctionPointer)
auto qOverload(T functionPointer)

Detailed Description

Function Documentation

template <typename T> auto qConstOverload(T memberFunctionPointer)

Returns the memberFunctionPointer pointer to a constant member function:

    struct Foo {
        void overloadedFunction(int, const QString &);
        void overloadedFunction(int, const QString &) const;
    };
    ... qConstOverload<int, const QString &>(&Foo::overloadedFunction)
    ... qNonConstOverload<int, const QString &>(&Foo::overloadedFunction)

See also qOverload, qNonConstOverload, and Differences between String-Based and Functor-Based Connections.

template <typename T> auto qNonConstOverload(T memberFunctionPointer)

Returns the memberFunctionPointer pointer to a non-constant member function:

    struct Foo {
        void overloadedFunction(int, const QString &);
        void overloadedFunction(int, const QString &) const;
    };
    ... qConstOverload<int, const QString &>(&Foo::overloadedFunction)
    ... qNonConstOverload<int, const QString &>(&Foo::overloadedFunction)

See also qOverload, qNonConstOverload, and Differences between String-Based and Functor-Based Connections.

template <typename T> auto qOverload(T functionPointer)

Returns a pointer to an overloaded function. The template parameter is the list of the argument types of the function. functionPointer is the pointer to the (member) function:

    struct Foo {
        void overloadedFunction();
        void overloadedFunction(int, const QString &);
    };
    ... qOverload<>(&Foo::overloadedFunction)
    ... qOverload<int, const QString &>(&Foo::overloadedFunction)

If a member function is also const-overloaded qConstOverload and qNonConstOverload need to be used.

See also qConstOverload(), qNonConstOverload(), and Differences between String-Based and Functor-Based Connections.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.9/qoverload.html