16 template <
typename... args_t>
21 template <
typename result_t,
typename type_t>
22 constexpr auto operator()(result_t (type_t::*method)(args_t...)) const noexcept -> decltype(method) {
return method;}
26 template <
typename result_t,
typename type_t>
27 static constexpr auto of(result_t (type_t::*method)(args_t...)) noexcept -> decltype(method) {
return method;}
34 template <
typename... args_t>
39 template <
typename result_t,
typename type_t>
40 constexpr auto operator()(result_t (type_t::*method)(args_t...)
const) const noexcept -> decltype(method) {
return method;}
44 template <
typename result_t,
typename type_t>
45 static constexpr auto of(result_t (type_t::*method)(args_t...)
const) noexcept -> decltype(method) {
return method;}
52 template <
typename... args_t>
64 template <
typename result_t>
65 constexpr auto operator()(result_t (*method)(args_t...)) const noexcept -> decltype(method) {
return method;}
69 template <
typename result_t>
70 static constexpr auto of(result_t (*method)(args_t...)) noexcept -> decltype(method) {
return method;}
74 template <
typename... args_t>
75 inline const overload<args_t...>
overload_;
77 template <
typename... args_t>
80 template <
typename... args_t>
91#define overload_ xtd::overload_
99#define const_overload_ xtd::const_overload_
107#define non_const_overload_ xtd::non_const_overload_
#define const_overload_
Helper keyword that use to determine one of const overloaded methods.
Definition: overload.h:99
#define overload_
Helper keyword that use to determine one of const and non const overloaded methods.
Definition: overload.h:91
#define non_const_overload_
Helper keyword that use to determine one of non const overloaded methods.
Definition: overload.h:107
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
Represents class that use to determine one of const overloaded methods.
Definition: overload.h:35
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:45
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:40
Represents class that use to determine one of non const overloaded methods.
Definition: overload.h:17
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:27
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:22
Represents class that use to determine one of const and non const overloaded methods.
Definition: overload.h:53
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:65
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:70