// (C) Copyright Jonathan Turkanis 2004. // 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.) // Disclaimer: Not a Boost library. #ifndef BOOST_IDL_DELEGATION_HPP_INCLUDED #define BOOST_IDL_DELEGATION_HPP_INCLUDED #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif #include #include #include namespace boost { namespace interfaces { template class delegating : public fixed_view { protected: fixed_view* get() { return this; } template void set(T* t) { fixed_view::assign_object(*t); } }; template fixed_view* get_delegate(Delegator& d) { return access::get_delegate(d); } template void set_delegate(Delegator& d, T* t) { access::set_delegate(d, t); } } } // End namespaces interfaces, boost. #endif // #ifndef BOOST_IDL_DELEGATION_HPP_INCLUDED