// Copyright (c) 2018-2025 Jean-Louis Leroy // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE_1_0.txt // or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include using namespace boost::openmethod; struct Animal { virtual ~Animal() { } }; struct Cat : Animal {}; BOOST_OPENMETHOD(poke, (shared_virtual_ptr&), void); BOOST_OPENMETHOD_OVERRIDE(poke, (shared_virtual_ptr&), void) { } int main() { Cat felix; poke(felix); return 0; }