• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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