diff --git a/include/boost/openmethod/core.hpp b/include/boost/openmethod/core.hpp index b391920..7fda020 100644 --- a/include/boost/openmethod/core.hpp +++ b/include/boost/openmethod/core.hpp @@ -798,6 +798,13 @@ class virtual_ptr : public detail::virtual_ptr_impl { template virtual_ptr(Class&) -> virtual_ptr; +template +virtual_ptr(Class&&) -> virtual_ptr; + +// Alas this is not allowed: +// template +// virtual_ptr(Class&) -> virtual_ptr; + template inline auto final_virtual_ptr(Class&& obj) { return virtual_ptr, Registry>::final(