// Copyright David Abrahams 2002. // 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) #ifndef REGISTERED_POINTEE_DWA2002710_HPP # define REGISTERED_POINTEE_DWA2002710_HPP # include # include # include # include # include namespace boost { namespace python { namespace converter { struct registration; # ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template struct registered_pointee : registered< typename remove_pointer< typename remove_cv< typename remove_reference::type >::type >::type > { }; # else namespace detail { template struct registered_pointee_base { static registration const& converters; }; } template struct registered_pointee : detail::registered_pointee_base< typename add_reference< typename add_cv::type >::type > { }; // // implementations // namespace detail { template registration const& registered_pointee_base::converters = registry::lookup(pointer_type_id()); } # endif }}} // namespace boost::python::converter #endif // REGISTERED_POINTEE_DWA2002710_HPP