File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1947,6 +1947,23 @@ auto method_adaptor(Return (Class::*pmf)(Args...) const) -> Return (Derived::*)(
19471947 return pmf;
19481948}
19491949
1950+ template <typename Derived, typename Return, typename Class, typename ... Args>
1951+ auto method_adaptor (Return (Class::*pmf)(Args...) &) -> Return (Derived::*)(Args...) & {
1952+ static_assert (
1953+ detail::is_accessible_base_of<Class, Derived>::value,
1954+ " Cannot bind an inaccessible base class method; use a lambda definition instead" );
1955+ return pmf;
1956+ }
1957+
1958+ template <typename Derived, typename Return, typename Class, typename ... Args>
1959+ auto method_adaptor (Return (Class::*pmf)(Args...) const &)
1960+ -> Return (Derived::*)(Args...) const & {
1961+ static_assert (
1962+ detail::is_accessible_base_of<Class, Derived>::value,
1963+ " Cannot bind an inaccessible base class method; use a lambda definition instead" );
1964+ return pmf;
1965+ }
1966+
19501967#ifdef __cpp_noexcept_function_type
19511968template <typename Derived, typename Return, typename Class, typename ... Args>
19521969auto method_adaptor (Return (Class::*pmf)(Args...) noexcept )
You can’t perform that action at this time.
0 commit comments