$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r84275 - in trunk/boost/fusion/container/map: . detail
From: joel_at_[hidden]
Date: 2013-05-13 19:01:06
Author: djowel
Date: 2013-05-13 19:01:05 EDT (Mon, 13 May 2013)
New Revision: 84275
URL: http://svn.boost.org/trac/boost/changeset/84275
Log:
allow map keys to be forward declared only
Text files modified: 
   trunk/boost/fusion/container/map/detail/map_impl.hpp |     4 ++--                                    
   trunk/boost/fusion/container/map/map_iterator.hpp    |     5 ++---                                   
   2 files changed, 4 insertions(+), 5 deletions(-)
Modified: trunk/boost/fusion/container/map/detail/map_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/map/detail/map_impl.hpp	(original)
+++ trunk/boost/fusion/container/map/detail/map_impl.hpp	2013-05-13 19:01:05 EDT (Mon, 13 May 2013)
@@ -113,8 +113,8 @@
         value_type get_val(mpl::identity<key_type>) const;
         pair_type get_val(mpl::int_<index>) const;
 
-        key_type get_key(mpl::int_<index>);
-        key_type get_key(mpl::int_<index>) const;
+        mpl::identity<key_type> get_key(mpl::int_<index>);
+        mpl::identity<key_type> get_key(mpl::int_<index>) const;
 
         typename cref_result<value_type>::type
         get(mpl::identity<key_type>) const
Modified: trunk/boost/fusion/container/map/map_iterator.hpp
==============================================================================
--- trunk/boost/fusion/container/map/map_iterator.hpp	(original)
+++ trunk/boost/fusion/container/map/map_iterator.hpp	2013-05-13 19:01:05 EDT (Mon, 13 May 2013)
@@ -54,9 +54,8 @@
         {
             typedef typename Iterator::sequence sequence;
             typedef typename Iterator::index index;
-            typedef
-                decltype(std::declval<sequence>().get_key(index()))
-            type;
+            typedef decltype(std::declval<sequence>().get_key(index())) key_identity_type;
+            typedef typename key_identity_type::type type;
         };
 
         template<typename Iterator>