|
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