Boost logo

Boost-Commit :

From: joel_at_[hidden]
Date: 2007-12-20 21:45:21


Author: djowel
Date: 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
New Revision: 42225
URL: http://svn.boost.org/trac/boost/changeset/42225

Log:
merge from trunk
Removed:
   branches/release/boost/fusion/adapted/variant/
   branches/release/boost/fusion/adapted/variant.hpp
   branches/release/boost/fusion/include/utility.hpp
   branches/release/boost/fusion/include/variant.hpp
   branches/release/boost/fusion/sequence/utility.hpp
Text files modified:
   branches/release/boost/fusion/adapted.hpp | 4 ++--
   branches/release/boost/fusion/adapted/struct.hpp | 13 +++++++++----
   branches/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp | 6 +++---
   branches/release/boost/fusion/adapted/struct/detail/end_impl.hpp | 10 +++++++++-
   branches/release/boost/fusion/adapted/struct/extension.hpp | 2 +-
   branches/release/boost/fusion/include/accumulate.hpp | 2 +-
   branches/release/boost/fusion/support/deduce.hpp | 18 ++++++++++++++++++
   7 files changed, 43 insertions(+), 12 deletions(-)

Modified: branches/release/boost/fusion/adapted.hpp
==============================================================================
--- branches/release/boost/fusion/adapted.hpp (original)
+++ branches/release/boost/fusion/adapted.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -2,7 +2,7 @@
     Copyright (c) 2001-2006 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_ADAPTED_30122005_1420)
@@ -12,6 +12,6 @@
 #include <boost/fusion/adapted/std_pair.hpp>
 #include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/adapted/mpl.hpp>
-#include <boost/fusion/adapted/variant.hpp>
+#include <boost/fusion/adapted/struct.hpp>
 
 #endif

Modified: branches/release/boost/fusion/adapted/struct.hpp
==============================================================================
--- branches/release/boost/fusion/adapted/struct.hpp (original)
+++ branches/release/boost/fusion/adapted/struct.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -10,14 +10,19 @@
 
 #include <boost/fusion/adapted/struct/extension.hpp>
 #include <boost/fusion/adapted/struct/adapt_struct.hpp>
+#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
 #include <boost/fusion/adapted/struct/struct_iterator.hpp>
-#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
+
+#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
+#include <boost/fusion/adapted/struct/detail/at_key_impl.hpp>
 #include <boost/fusion/adapted/struct/detail/begin_impl.hpp>
+#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
 #include <boost/fusion/adapted/struct/detail/end_impl.hpp>
+#include <boost/fusion/adapted/struct/detail/has_key_impl.hpp>
+#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
+#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
 #include <boost/fusion/adapted/struct/detail/size_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
 #include <boost/fusion/adapted/struct/detail/value_at_impl.hpp>
+#include <boost/fusion/adapted/struct/detail/value_at_key_impl.hpp>
 
 #endif

Modified: branches/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
==============================================================================
--- branches/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp (original)
+++ branches/release/boost/fusion/adapted/struct/adapt_assoc_struct.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -53,7 +53,7 @@
 // SEQ_FOR_EACH_I to generate the "linear" substructures.
 // Thanks to Paul Mensonides for the PP macro help
 
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_I(name, seq) \
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_I(name, seq) \
     namespace boost { namespace fusion { namespace traits \
     { \
         template <> \
@@ -66,11 +66,11 @@
     { \
         template <> \
         struct struct_size<name> : mpl::int_<BOOST_PP_SEQ_SIZE(seq)> {}; \
- BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq) \
+ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq) \
     }}} \
     /***/
 
-#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C(r, name, i, xy) \
+#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C(r, name, i, xy) \
     template <> \
     struct struct_member<name, i> \
     { \

Modified: branches/release/boost/fusion/adapted/struct/detail/end_impl.hpp
==============================================================================
--- branches/release/boost/fusion/adapted/struct/detail/end_impl.hpp (original)
+++ branches/release/boost/fusion/adapted/struct/detail/end_impl.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -19,13 +19,21 @@
         template <typename Tag>
         struct end_impl;
 
+ template <typename Struct>
+ struct struct_size;
+
         template <>
         struct end_impl<struct_tag>
         {
             template <typename Sequence>
             struct apply
             {
- typedef struct_iterator<Sequence, 2> type;
+ typedef
+ struct_iterator<
+ Sequence
+ , struct_size<Sequence>::value
+ >
+ type;
 
                 static type
                 call(Sequence& v)

Modified: branches/release/boost/fusion/adapted/struct/extension.hpp
==============================================================================
--- branches/release/boost/fusion/adapted/struct/extension.hpp (original)
+++ branches/release/boost/fusion/adapted/struct/extension.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -50,7 +50,7 @@
     struct struct_assoc_member<Struct const, Key>
     {
         typedef typename
- add_const<typename struct_assoc_member<Struct, Key>::type>::type
+ add_const<typename struct_assoc_member<Struct, Key>::type>::type
         type;
 
         static type&

Deleted: branches/release/boost/fusion/adapted/variant.hpp
==============================================================================
--- branches/release/boost/fusion/adapted/variant.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
+++ (empty file)
@@ -1,20 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
-
- 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_VARIANT_12112006_1614)
-#define BOOST_FUSION_VARIANT_12112006_1614
-
-#include <boost/fusion/adapted/variant/variant_iterator.hpp>
-#include <boost/fusion/adapted/variant/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/variant/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/variant/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/variant/tag_of.hpp>
-#include <boost/fusion/adapted/variant/detail/size_impl.hpp>
-#include <boost/fusion/adapted/variant/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/variant/detail/end_impl.hpp>
-
-#endif

Modified: branches/release/boost/fusion/include/accumulate.hpp
==============================================================================
--- branches/release/boost/fusion/include/accumulate.hpp (original)
+++ branches/release/boost/fusion/include/accumulate.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -7,6 +7,6 @@
 #if !defined(FUSION_INCLUDE_ACCUMULATE)
 #define FUSION_INCLUDE_ACCUMULATE
 
-#include <boost/fusion/algorithm/accumulate.hpp>
+#include <boost/fusion/algorithm/iteration/accumulate.hpp>
 
 #endif

Deleted: branches/release/boost/fusion/include/utility.hpp
==============================================================================
--- branches/release/boost/fusion/include/utility.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
+++ (empty file)
@@ -1,12 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
-
- 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(FUSION_INCLUDE_UTILITY)
-#define FUSION_INCLUDE_UTILITY
-
-#include <boost/fusion/sequence/utility.hpp>
-
-#endif

Deleted: branches/release/boost/fusion/include/variant.hpp
==============================================================================
--- branches/release/boost/fusion/include/variant.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
+++ (empty file)
@@ -1,12 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
-
- 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(FUSION_INCLUDE_VARIANT)
-#define FUSION_INCLUDE_VARIANT
-
-#include <boost/fusion/adapted/variant.hpp>
-
-#endif

Deleted: branches/release/boost/fusion/sequence/utility.hpp
==============================================================================
--- branches/release/boost/fusion/sequence/utility.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
+++ (empty file)
@@ -1,14 +0,0 @@
-//
-// Copyright (c) 2006 João Abecasis
-//
-// 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_SEQUENCE_UTILITY_HPP_INCLUDED)
-#define BOOST_FUSION_SEQUENCE_UTILITY_HPP_INCLUDED
-
-# include <boost/fusion/sequence/utility/unpack_args.hpp>
-
-#endif // include guard

Modified: branches/release/boost/fusion/support/deduce.hpp
==============================================================================
--- branches/release/boost/fusion/support/deduce.hpp (original)
+++ branches/release/boost/fusion/support/deduce.hpp 2007-12-20 21:45:20 EST (Thu, 20 Dec 2007)
@@ -25,6 +25,24 @@
         typedef T type;
     };
 
+ template <typename T>
+ struct deduce<T const>
+ {
+ typedef T type;
+ };
+
+ template <typename T>
+ struct deduce<T volatile>
+ {
+ typedef T type;
+ };
+
+ template <typename T>
+ struct deduce<T const volatile>
+ {
+ typedef T type;
+ };
+
     // Keep references on mutable LValues
 
     template <typename T>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk