1 /*============================================================================= 2 Copyright (c) 2009 Christopher Schmidt 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 ==============================================================================*/ 7 8 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP 9 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP 10 11 #include <boost/fusion/support/config.hpp> 12 #include <boost/fusion/container/map/detail/cpp03/value_of_impl.hpp> 13 14 namespace boost { namespace fusion { namespace extension 15 { 16 template <typename> 17 struct key_of_impl; 18 19 template <> 20 struct key_of_impl<map_iterator_tag> 21 { 22 template <typename It> 23 struct apply 24 { 25 typedef typename 26 value_of_impl<map_iterator_tag>:: 27 template apply<It>::type::first_type 28 type; 29 }; 30 }; 31 }}} 32 33 #endif 34