15 template <
typename... args_t>
20 template <
typename result_t,
typename type_t>
21 constexpr
auto operator()(result_t (type_t::*method)(args_t...)) const noexcept -> decltype(method) {
return method;}
25 template <
typename result_t,
typename type_t>
26 static constexpr
auto of(result_t (type_t::*method)(args_t...)) noexcept -> decltype(method) {
return method;}
33 template <
typename... args_t>
41 template <
typename result_t,
typename type_t>
42 constexpr
auto operator()(result_t (type_t::*method)(args_t...)
const) const noexcept -> decltype(method) {
return method;}
51 template <
typename result_t,
typename type_t>
52 static constexpr
auto of(result_t (type_t::*method)(args_t...)
const) noexcept -> decltype(method) {
return method;}
60 template <
typename... args_t>
75 template <
typename result_t>
76 constexpr
auto operator()(result_t (*method)(args_t...)) const noexcept -> decltype(method) {
return method;}
85 template <
typename result_t>
86 static constexpr
auto of(result_t (*method)(args_t...)) noexcept -> decltype(method) {
return method;}
90 template <
typename... args_t>
93 template <
typename... args_t>
96 template <
typename... args_t>
107 #define overload_ xtd::overload_ 115 #define const_overload_ xtd::const_overload_ 123 #define non_const_overload_ xtd::non_const_overload_ constexpr auto operator()(result_t(type_t::*method)(args_t...)) const noexcept -> decltype(method)
Returns a pointer to an overloaded method. The template parameter is the list of the argument types o...
Definition: overload.h:21
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
#define non_const_overload_
Helper keyword that use to determine one of non const overloaded methods.
Definition: overload.h:123
constexpr auto operator()(result_t(*method)(args_t...)) const noexcept -> decltype(method)
Returns a pointer to an overloaded method. The template parameter is the list of the argument types o...
Definition: overload.h:76
static constexpr auto of(result_t(type_t::*method)(args_t...) const) noexcept -> decltype(method)
Returns a pointer to an overloaded method. The template parameter is the list of the argument types o...
Definition: overload.h:52
constexpr auto operator()(result_t(type_t::*method)(args_t...) const) const noexcept -> decltype(method)
Returns a pointer to an overloaded method. The template parameter is the list of the argument types o...
Definition: overload.h:42
Represents class that use to determine one of non const overloaded methods.
Definition: overload.h:16
static constexpr auto of(result_t(*method)(args_t...)) noexcept -> decltype(method)
Returns a pointer to an overloaded method. The template parameter is the list of the argument types o...
Definition: overload.h:86
#define overload_
Helper keyword that use to determine one of const and non const overloaded methods.
Definition: overload.h:107
Represents class that use to determine one of const overloaded methods.
Definition: overload.h:34
Represents class that use to determine one of const and non const overloaded methods.
Definition: overload.h:61
static constexpr auto of(result_t(type_t::*method)(args_t...)) noexcept -> decltype(method)
Returns a pointer to an overloaded method. The template parameter is the list of the argument types o...
Definition: overload.h:26
#define const_overload_
Helper keyword that use to determine one of const overloaded methods.
Definition: overload.h:115