/*============================================================================= Copyright (c) 2009 Christopher Schmidt 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 BOOST_FUSION_ITERATOR_DEREF_DATA_HPP #define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP #include namespace boost { namespace fusion { struct iterator_facade_tag; namespace extension { template struct deref_data_impl; template <> struct deref_data_impl { template struct apply : It::template deref_data {}; }; } namespace result_of { template struct deref_data : extension::deref_data_impl::type>:: template apply {}; } template typename result_of::deref_data::type deref_data(It const& it) { return result_of::deref_data::call(it); } }} #endif