$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r77811 - in trunk/boost/fusion/container/deque: . detail
From: joel_at_[hidden]
Date: 2012-04-07 06:57:12
Author: djowel
Date: 2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
New Revision: 77811
URL: http://svn.boost.org/trac/boost/changeset/77811
Log:
updates
Text files modified: 
   trunk/boost/fusion/container/deque/convert.hpp                        |     4 +++-                                    
   trunk/boost/fusion/container/deque/cpp03_deque.hpp                    |     4 ++++                                    
   trunk/boost/fusion/container/deque/cpp03_deque_fwd.hpp                |     4 ++++                                    
   trunk/boost/fusion/container/deque/deque.hpp                          |     3 +++                                     
   trunk/boost/fusion/container/deque/deque_fwd.hpp                      |     3 +++                                     
   trunk/boost/fusion/container/deque/detail/at_impl.hpp                 |    17 ++++++++++-------                       
   trunk/boost/fusion/container/deque/detail/begin_impl.hpp              |     4 ++--                                    
   trunk/boost/fusion/container/deque/detail/convert_impl.hpp            |     2 +-                                      
   trunk/boost/fusion/container/deque/detail/deque_forward_ctor.hpp      |     6 +++++-                                  
   trunk/boost/fusion/container/deque/detail/deque_initial_size.hpp      |     4 ++++                                    
   trunk/boost/fusion/container/deque/detail/deque_keyed_values.hpp      |     4 ++++                                    
   trunk/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp |     4 ++++                                    
   trunk/boost/fusion/container/deque/detail/end_impl.hpp                |    24 +++++++++++++-----------                
   trunk/boost/fusion/container/deque/detail/is_sequence_impl.hpp        |    10 ++++------                              
   trunk/boost/fusion/container/deque/detail/keyed_element.hpp           |    31 +++++++++++++++++--------------         
   trunk/boost/fusion/container/deque/detail/value_at_impl.hpp           |     4 ++--                                    
   16 files changed, 83 insertions(+), 45 deletions(-)
Modified: trunk/boost/fusion/container/deque/convert.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/convert.hpp	(original)
+++ trunk/boost/fusion/container/deque/convert.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -21,7 +21,9 @@
         template <typename Sequence>
         struct as_deque
         {
-            typedef typename detail::as_deque<result_of::size<Sequence>::value> gen;
+            typedef typename
+                detail::as_deque<result_of::size<Sequence>::value>
+            gen;
             typedef typename gen::
                 template apply<typename result_of::begin<Sequence>::type>::type
             type;
Modified: trunk/boost/fusion/container/deque/cpp03_deque.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/cpp03_deque.hpp	(original)
+++ trunk/boost/fusion/container/deque/cpp03_deque.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -8,6 +8,10 @@
 #if !defined(BOOST_CPP03_FUSION_DEQUE_26112006_1649)
 #define BOOST_CPP03_FUSION_DEQUE_26112006_1649
 
+#if defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#error "C++03 only! This file should not have been included"
+#endif
+
 #include <boost/fusion/container/deque/limits.hpp>
 #include <boost/fusion/container/deque/front_extended_deque.hpp>
 #include <boost/fusion/container/deque/back_extended_deque.hpp>
Modified: trunk/boost/fusion/container/deque/cpp03_deque_fwd.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/cpp03_deque_fwd.hpp	(original)
+++ trunk/boost/fusion/container/deque/cpp03_deque_fwd.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -8,6 +8,10 @@
 #if !defined(FUSION_CPP03_DEQUE_FORWARD_02092007_0749)
 #define FUSION_CPP03_DEQUE_FORWARD_02092007_0749
 
+#if defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#error "C++03 only! This file should not have been included"
+#endif
+
 #include <boost/fusion/container/deque/limits.hpp>
 #include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
 
Modified: trunk/boost/fusion/container/deque/deque.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/deque.hpp	(original)
+++ trunk/boost/fusion/container/deque/deque.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -15,6 +15,9 @@
   || defined(BOOST_NO_RVALUE_REFERENCES))
 # include <boost/fusion/container/deque/cpp03_deque.hpp>
 #else
+# if !defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#   define BOOST_FUSION_HAS_CPP11_DEQUE
+# endif
 # include <boost/fusion/container/deque/cpp11_deque.hpp>
 #endif
 
Modified: trunk/boost/fusion/container/deque/deque_fwd.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/deque_fwd.hpp	(original)
+++ trunk/boost/fusion/container/deque/deque_fwd.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -15,6 +15,9 @@
   || defined(BOOST_NO_RVALUE_REFERENCES))
 # include <boost/fusion/container/deque/cpp03_deque_fwd.hpp>
 #else
+# if !defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#   define BOOST_FUSION_HAS_CPP11_DEQUE
+# endif
 # include <boost/fusion/container/deque/cpp11_deque_fwd.hpp>
 #endif
 
Modified: trunk/boost/fusion/container/deque/detail/at_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/at_impl.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/at_impl.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -19,8 +19,8 @@
 #include <boost/type_traits/add_const.hpp>
 #include <boost/type_traits/add_reference.hpp>
 
-namespace boost { namespace fusion {
-
+namespace boost { namespace fusion
+{
     struct deque_tag;
 
     namespace extension
@@ -44,11 +44,14 @@
                     detail::keyed_element_value_at<Sequence, adjusted_index>::type
                 element_type;
 
-                typedef typename add_reference<
-                    typename mpl::eval_if<
-                    is_const<Sequence>,
-                    add_const<element_type>,
-                    mpl::identity<element_type> >::type>::type type;
+                typedef typename
+                    add_reference<
+                      typename mpl::eval_if<
+                      is_const<Sequence>,
+                      add_const<element_type>,
+                      mpl::identity<element_type> >::type
+                    >::type
+                type;
 
                 static type call(Sequence& seq)
                 {
Modified: trunk/boost/fusion/container/deque/detail/begin_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/begin_impl.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/begin_impl.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -13,8 +13,8 @@
 #include <boost/mpl/equal_to.hpp>
 #include <boost/mpl/if.hpp>
 
-namespace boost { namespace fusion {
-
+namespace boost { namespace fusion
+{
     struct deque_tag;
 
     namespace extension
Modified: trunk/boost/fusion/container/deque/detail/convert_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/convert_impl.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/convert_impl.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -28,7 +28,7 @@
             template <typename Sequence>
             struct apply
             {
-                typedef typename detail::as_deque<result_of::size<Sequence>::value> gen;
+                typedef detail::as_deque<result_of::size<Sequence>::value> gen;
                 typedef typename gen::
                     template apply<typename result_of::begin<Sequence>::type>::type
                 type;
Modified: trunk/boost/fusion/container/deque/detail/deque_forward_ctor.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/deque_forward_ctor.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/deque_forward_ctor.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -2,13 +2,17 @@
     Copyright (c) 2005-2012 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
+    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)
 ==============================================================================*/
 #if !defined(BOOST_PP_IS_ITERATING)
 #if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212)
 #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212
 
+#if defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#error "C++03 only! This file should not have been included"
+#endif
+
 #include <boost/preprocessor/iterate.hpp>
 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
Modified: trunk/boost/fusion/container/deque/detail/deque_initial_size.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/deque_initial_size.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/deque_initial_size.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -8,6 +8,10 @@
 #if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139)
 #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139
 
+#if defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#error "C++03 only! This file should not have been included"
+#endif
+
 #include <boost/preprocessor/repetition/enum_params.hpp>
 #include <boost/mpl/find.hpp>
 #include <boost/mpl/begin.hpp>
Modified: trunk/boost/fusion/container/deque/detail/deque_keyed_values.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/deque_keyed_values.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/deque_keyed_values.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -8,6 +8,10 @@
 #if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330)
 #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330
 
+#if defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#error "C++03 only! This file should not have been included"
+#endif
+
 #include <boost/fusion/container/deque/limits.hpp>
 #include <boost/fusion/container/deque/detail/keyed_element.hpp>
 
Modified: trunk/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -9,6 +9,10 @@
 #if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211)
 #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211
 
+#if defined(BOOST_FUSION_HAS_CPP11_DEQUE)
+#error "C++03 only! This file should not have been included"
+#endif
+
 #include <boost/preprocessor/iterate.hpp>
 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
Modified: trunk/boost/fusion/container/deque/detail/end_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/end_impl.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/end_impl.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -2,7 +2,7 @@
     Copyright (c) 2005-2012 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
+    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)
 ==============================================================================*/
 #if !defined(BOOST_FUSION_DEQUE_END_IMPL_09122006_2034)
@@ -13,27 +13,29 @@
 #include <boost/mpl/equal_to.hpp>
 #include <boost/mpl/if.hpp>
 
-namespace boost { namespace fusion { 
-
+namespace boost { namespace fusion
+{
     struct deque_tag;
 
-    namespace extension 
+    namespace extension
     {
         template<typename T>
         struct end_impl;
-        
+
         template<>
         struct end_impl<deque_tag>
         {
             template<typename Sequence>
             struct apply
             {
-                typedef typename mpl::if_<
-                    mpl::equal_to<typename Sequence::next_down, typename Sequence::next_up>,
-                    deque_iterator<Sequence, 0>,
-                    deque_iterator<
-                    Sequence, Sequence::next_up::value> >::type type;
-                
+                typedef typename
+                    mpl::if_c<
+                        (Sequence::next_down::value == Sequence::next_up::value)
+                      , deque_iterator<Sequence, 0>
+                      , deque_iterator<Sequence, Sequence::next_up::value>
+                    >::type
+                type;
+
                 static type call(Sequence& seq)
                 {
                     return type(seq);
Modified: trunk/boost/fusion/container/deque/detail/is_sequence_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/is_sequence_impl.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/is_sequence_impl.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -1,7 +1,7 @@
 /*=============================================================================
     Copyright (c) 2010 Christopher Schmidt
 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
+    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)
 ==============================================================================*/
 
@@ -14,18 +14,16 @@
 {
     struct deque_tag;
 
-    namespace extension 
+    namespace extension
     {
         template<typename T>
         struct is_sequence_impl;
-        
+
         template<>
         struct is_sequence_impl<deque_tag>
         {
             template<typename Sequence>
-            struct apply
-              : mpl::true_
-            {};
+            struct apply : mpl::true_ {};
         };
     }
 }}
Modified: trunk/boost/fusion/container/deque/detail/keyed_element.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/keyed_element.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/keyed_element.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -14,12 +14,13 @@
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
 
-namespace boost { namespace fusion {
-
+namespace boost { namespace fusion
+{
     struct fusion_sequence_tag;
+}}
 
-namespace detail {
-
+namespace boost { namespace fusion { namespace detail
+{
     struct nil_keyed_element
     {
         typedef fusion_sequence_tag tag;
@@ -33,15 +34,18 @@
         }
     };
 
-    template<typename Key, typename Value, typename Rest>
-    struct keyed_element
-        : Rest
+    template <typename Key, typename Value, typename Rest>
+    struct keyed_element : Rest
     {
         typedef Rest base;
         typedef fusion_sequence_tag tag;
+        typedef typename
+            add_reference<typename add_const<Value>::type>::type
+        const_value_type;
+        typedef typename add_reference<Value>::type value_type;
         using Rest::get;
 
-        template<typename It>
+        template <typename It>
         static keyed_element
         from_iterator(It const& it)
         {
@@ -51,7 +55,7 @@
 
         template <typename U, typename Rst>
         keyed_element(keyed_element<Key, U, Rst> const& rhs)
-            : Rest(rhs.get_base()), value_(rhs.value_)
+          : Rest(rhs.get_base()), value_(rhs.value_)
         {}
 
         Rest const get_base() const
@@ -59,17 +63,17 @@
             return *this;
         }
 
-        typename add_reference<typename add_const<Value>::type>::type get(Key) const
+        const_value_type get(Key) const
         {
             return value_;
         }
 
-        typename add_reference<Value>::type get(Key)
+        value_type get(Key)
         {
             return value_;
         }
 
-        keyed_element(typename add_reference<typename add_const<Value>::type>::type value, Rest const& rest)
+        keyed_element(const_value_type value, Rest const& rest)
             : Rest(rest), value_(value)
         {}
 
@@ -97,7 +101,7 @@
 
     template<typename Elem, typename Key>
     struct keyed_element_value_at
-        : keyed_element_value_at<typename Elem::base, Key>
+      : keyed_element_value_at<typename Elem::base, Key>
     {};
 
     template<typename Key, typename Value, typename Rest>
@@ -105,7 +109,6 @@
     {
         typedef Value type;
     };
-
 }}}
 
 #endif
Modified: trunk/boost/fusion/container/deque/detail/value_at_impl.hpp
==============================================================================
--- trunk/boost/fusion/container/deque/detail/value_at_impl.hpp	(original)
+++ trunk/boost/fusion/container/deque/detail/value_at_impl.hpp	2012-04-07 06:57:10 EDT (Sat, 07 Apr 2012)
@@ -13,8 +13,8 @@
 #include <boost/mpl/equal_to.hpp>
 #include <boost/mpl/assert.hpp>
 
-namespace boost { namespace fusion {
-
+namespace boost { namespace fusion
+{
     struct deque_tag;
 
     namespace extension