15 template <
typename... args_t>
23 template <
typename result_t,
typename type_t>
24 constexpr auto operator()(result_t (type_t::*method)(args_t...)) const noexcept -> decltype(method) {
return method;}
33 template <
typename result_t,
typename type_t>
34 static constexpr auto of(result_t (type_t::*method)(args_t...)) noexcept -> decltype(method) {
return method;}
42 template <
typename... args_t>
50 template <
typename result_t,
typename type_t>
51 constexpr auto operator()(result_t (type_t::*method)(args_t...) const) const noexcept -> decltype(method) {
return method;}
60 template <
typename result_t,
typename type_t>
61 static constexpr auto of(result_t (type_t::*method)(args_t...) const) noexcept -> decltype(method) {
return method;}
69 template <
typename... args_t>
84 template <
typename result_t>
85 constexpr auto operator()(result_t (*method)(args_t...)) const noexcept -> decltype(method) {
return method;}
94 template <
typename result_t>
95 static constexpr auto of(result_t (*method)(args_t...)) noexcept -> decltype(method) {
return method;}
100 template <
typename... args_t>
101 inline const overload<args_t...>
overload_;
103 template <
typename... args_t>
106 template <
typename... args_t>
117#define overload_ xtd::overload_
125#define const_overload_ xtd::const_overload_
133#define non_const_overload_ xtd::non_const_overload_
#define const_overload_
Helper keyword that use to determine one of const overloaded methods.
Definition overload.hpp:125
#define overload_
Helper keyword that use to determine one of const and non const overloaded methods.
Definition overload.hpp:117
#define non_const_overload_
Helper keyword that use to determine one of non const overloaded methods.
Definition overload.hpp:133
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
Represents class that use to determine one of const overloaded methods.
Definition overload.hpp:43
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.hpp:61
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.hpp:51
Represents class that use to determine one of non const overloaded methods.
Definition overload.hpp:16
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.hpp:34
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.hpp:24
Represents class that use to determine one of const and non const overloaded methods.
Definition overload.hpp:70
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.hpp:85
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.hpp:95