// Copyright David Abrahams 2004. Use, modification and distribution is // subject to 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 POINTEE_DWA200415_HPP # define POINTEE_DWA200415_HPP // dereferenceable_traits provides access to the value_type and // reference of a Dereferenceable type. # include # include # include # include namespace boost { namespace detail { template struct smart_ptr_value { typedef typename remove_cv::type type; }; } template struct pointee { typedef typename remove_cv

::type stripped; typedef typename mpl::apply_if< detail::is_incrementable , iterator_value , detail::smart_ptr_value >::type type; }; } // namespace boost #endif // POINTEE_DWA200415_HPP