<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;
};
auto ptr_1 = qConstOverload<int, const QString &>(&Foo::overloadedFunction);
auto ptr_2 = 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;
};
auto ptr_1 = qConstOverload<int, const QString &>(&Foo::overloadedFunction);
auto ptr_2 = qNonConstOverload<int, const QString &>(&Foo::overloadedFunction);
See also qOverload, qConstOverload, 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 &); }; auto ptr_1 = qOverload<>(&Foo::overloadedFunction); auto ptr_2 = 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.