// Boost.TypeErasure library // // Copyright 2015 Steven Watanabe // // 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) // // $Id$ #ifndef BOOST_TYPE_ERASURE_DYNAMIC_BINDING_HPP_INCLUDED #define BOOST_TYPE_ERASURE_DYNAMIC_BINDING_HPP_INCLUDED #include #include namespace boost { namespace type_erasure { /** * Maps a set of placeholders to actual types. */ template class dynamic_binding { public: template dynamic_binding(const static_binding&) { impl.template init(); } template dynamic_binding(const binding& other, const static_binding&) { impl.template convert_from(*other.impl.table); } private: template friend class binding; typename ::boost::type_erasure::detail::make_dynamic_vtable::type impl; }; } } #endif