@@ -1117,8 +1117,8 @@ class method<Name, ReturnType(Parameters...), Registry>
11171117 using VirtualParameters =
11181118 typename detail::virtual_types<DeclaredParameters>;
11191119 using Signature = auto (Parameters...) -> ReturnType;
1120- using FunctionPointer = auto (*)(detail::remove_virtual_<Parameters>...)
1121- -> ReturnType;
1120+ using FunctionPointer = auto (*)(
1121+ BOOST_OPENMETHOD_DETAIL_REMOVE_VIRTUAL_ (Parameters)...) -> ReturnType;
11221122 static constexpr auto Arity = boost::mp11::mp_count_if<
11231123 mp11::mp_list<Parameters...>, detail::is_virtual>::value;
11241124
@@ -1257,18 +1257,18 @@ class method<Name, ReturnType(Parameters...), Registry>
12571257 // ! _Overrider_ was not present. Set to `nullptr` if no such overrider exists.
12581258
12591259 template <auto Overrider>
1260- inline static ReturnType (*next)(
1260+ static ReturnType (*next)(
12611261 BOOST_OPENMETHOD_DETAIL_REMOVE_VIRTUAL_ (Parameters)...);
12621262
12631263 template <auto >
12641264 static bool has_next ();
12651265
1266+ private:
12661267 static BOOST_NORETURN auto fn_not_implemented (
12671268 detail::remove_virtual_<Parameters>... args) -> ReturnType;
12681269 static BOOST_NORETURN auto
12691270 fn_ambiguous (detail::remove_virtual_<Parameters>... args) -> ReturnType;
12701271
1271- private:
12721272 template <
12731273 auto Overrider, typename OverriderReturn,
12741274 typename ... OverriderParameters>
@@ -1345,11 +1345,11 @@ template<
13451345method<Name, ReturnType(Parameters...), Registry>
13461346 method<Name, ReturnType(Parameters...), Registry>::fn;
13471347
1348- // template<
1349- // typename Name, typename... Parameters, typename ReturnType, class Registry>
1350- // template<auto>
1351- // typename method<Name, ReturnType(Parameters...), Registry>::FunctionPointer
1352- // method<Name, ReturnType(Parameters...), Registry>::next;
1348+ template <
1349+ typename Name, typename ... Parameters, typename ReturnType, class Registry >
1350+ template <auto >
1351+ typename method<Name, ReturnType(Parameters...), Registry>::FunctionPointer
1352+ method<Name, ReturnType(Parameters...), Registry>::next;
13531353
13541354template <typename T>
13551355constexpr bool is_method = std::is_base_of_v<detail::method_info, T>;
0 commit comments