|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r56178 - in branches/release/boost/fusion: . adapted/boost_tuple algorithm algorithm/query/detail algorithm/transformation container/deque container/generation container/vector container/vector/detail functional functional/adapter functional/generation include iterator support view/ext_
From: joel_at_[hidden]
Date: 2009-09-14 03:40:41
Author: djowel
Date: 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
New Revision: 56178
URL: http://svn.boost.org/trac/boost/changeset/56178
Log:
merge from trunk
Added:
branches/release/boost/fusion/functional/adapter/unfused.hpp
- copied unchanged from r54384, /trunk/boost/fusion/functional/adapter/unfused.hpp
branches/release/boost/fusion/functional/generation/make_unfused.hpp (contents, props changed)
Properties modified:
branches/release/boost/fusion/ (props changed)
Text files modified:
branches/release/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp | 36 ++++++++++++++++++++++++++++++++++++
branches/release/boost/fusion/algorithm/query/detail/all.hpp | 2 +-
branches/release/boost/fusion/algorithm/transformation.hpp | 2 ++
branches/release/boost/fusion/algorithm/transformation/clear.hpp | 4 ++--
branches/release/boost/fusion/container/deque/deque_iterator.hpp | 1 +
branches/release/boost/fusion/container/generation/make_vector.hpp | 20 ++++++++++----------
branches/release/boost/fusion/container/vector/detail/as_vector.hpp | 6 +++---
branches/release/boost/fusion/container/vector/detail/vector_n_chooser.hpp | 2 +-
branches/release/boost/fusion/container/vector/vector.hpp | 4 ++--
branches/release/boost/fusion/container/vector/vector10.hpp | 3 ++-
branches/release/boost/fusion/container/vector/vector_iterator.hpp | 9 +++++++++
branches/release/boost/fusion/functional/adapter.hpp | 4 +---
branches/release/boost/fusion/functional/adapter/limits.hpp | 17 ++---------------
branches/release/boost/fusion/functional/generation.hpp | 4 +---
branches/release/boost/fusion/include/remove.hpp | 6 +++---
branches/release/boost/fusion/iterator/iterator_facade.hpp | 10 +++++++++-
branches/release/boost/fusion/support/deduce.hpp | 12 ++++++++++++
branches/release/boost/fusion/support/tag_of.hpp | 4 ++--
branches/release/boost/fusion/support/unused.hpp | 27 +++++++++++++++++++++++++--
branches/release/boost/fusion/view/ext_/segmented_iterator.hpp | 4 ++--
20 files changed, 126 insertions(+), 51 deletions(-)
Modified: branches/release/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp
==============================================================================
--- branches/release/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp (original)
+++ branches/release/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -14,6 +14,9 @@
#include <boost/mpl/if.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/or.hpp>
+#include <boost/mpl/plus.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/apply.hpp>
#include <boost/tuple/tuple.hpp>
namespace boost { namespace fusion
@@ -91,6 +94,39 @@
return type(iter.cons.get_tail());
}
};
+
+ template <typename I1, typename I2>
+ struct distance;
+
+ // detail
+ template <typename I1, typename I2>
+ struct lazy_next_distance
+ {
+ typedef
+ typename mpl::plus<
+ mpl::int_<1>,
+ typename distance<
+ typename next<I1>::type,
+ I2
+ >::type
+ >::type type;
+ };
+
+ template <typename I1, typename I2>
+ struct distance
+ {
+ typedef typename mpl::eval_if<
+ boost::is_same<I1, I2>,
+ mpl::int_<0>,
+ lazy_next_distance<I1, I2>
+ >::type type;
+
+ static type
+ call(I1 const&, I2 const&)
+ {
+ return type();
+ }
+ };
};
template <typename Null>
Modified: branches/release/boost/fusion/algorithm/query/detail/all.hpp
==============================================================================
--- branches/release/boost/fusion/algorithm/query/detail/all.hpp (original)
+++ branches/release/boost/fusion/algorithm/query/detail/all.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -108,7 +108,7 @@
template <typename It, typename F>
static bool call(It const& it, F f)
{
- return false;
+ return true;
}
};
Modified: branches/release/boost/fusion/algorithm/transformation.hpp
==============================================================================
--- branches/release/boost/fusion/algorithm/transformation.hpp (original)
+++ branches/release/boost/fusion/algorithm/transformation.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -14,6 +14,7 @@
#include <boost/fusion/algorithm/transformation/filter_if.hpp>
#include <boost/fusion/algorithm/transformation/insert.hpp>
#include <boost/fusion/algorithm/transformation/insert_range.hpp>
+#include <boost/fusion/algorithm/transformation/join.hpp>
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
#include <boost/fusion/algorithm/transformation/push_back.hpp>
@@ -24,5 +25,6 @@
#include <boost/fusion/algorithm/transformation/replace_if.hpp>
#include <boost/fusion/algorithm/transformation/reverse.hpp>
#include <boost/fusion/algorithm/transformation/transform.hpp>
+#include <boost/fusion/algorithm/transformation/zip.hpp>
#endif
Modified: branches/release/boost/fusion/algorithm/transformation/clear.hpp
==============================================================================
--- branches/release/boost/fusion/algorithm/transformation/clear.hpp (original)
+++ branches/release/boost/fusion/algorithm/transformation/clear.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -16,7 +16,7 @@
template <typename Sequence>
struct clear
{
- typedef vector0 type;
+ typedef vector0<> type;
};
}
@@ -24,7 +24,7 @@
inline typename result_of::clear<Sequence const>::type
clear(Sequence const& seq)
{
- return vector0();
+ return vector0<>();
}
}}
Modified: branches/release/boost/fusion/container/deque/deque_iterator.hpp
==============================================================================
--- branches/release/boost/fusion/container/deque/deque_iterator.hpp (original)
+++ branches/release/boost/fusion/container/deque/deque_iterator.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -12,6 +12,7 @@
#include <boost/fusion/container/deque/detail/keyed_element.hpp>
#include <boost/mpl/minus.hpp>
#include <boost/mpl/equal_to.hpp>
+#include <boost/type_traits/is_const.hpp>
namespace boost { namespace fusion {
Modified: branches/release/boost/fusion/container/generation/make_vector.hpp
==============================================================================
--- branches/release/boost/fusion/container/generation/make_vector.hpp (original)
+++ branches/release/boost/fusion/container/generation/make_vector.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -1,7 +1,7 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- 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)
==============================================================================*/
#ifndef BOOST_PP_IS_ITERATING
@@ -19,7 +19,7 @@
namespace boost { namespace fusion
{
struct void_;
-
+
namespace result_of
{
template <
@@ -28,18 +28,18 @@
, typename Extra = void_
>
struct make_vector;
-
+
template <>
struct make_vector<>
{
- typedef vector<> type;
+ typedef vector0<> type;
};
}
-
- inline vector<>
+
+ inline vector0<>
make_vector()
{
- return vector<>();
+ return vector0<>();
}
#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \
@@ -74,15 +74,15 @@
struct make_vector<BOOST_PP_ENUM_PARAMS(N, T)>
#endif
{
- typedef vector<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)> type;
+ typedef BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)> type;
};
}
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- inline vector<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
+ inline BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
{
- return vector<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
+ return BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
BOOST_PP_ENUM_PARAMS(N, _));
}
Modified: branches/release/boost/fusion/container/vector/detail/as_vector.hpp
==============================================================================
--- branches/release/boost/fusion/container/vector/detail/as_vector.hpp (original)
+++ branches/release/boost/fusion/container/vector/detail/as_vector.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -31,14 +31,14 @@
template <typename Iterator>
struct apply
{
- typedef vector<> type;
+ typedef vector0<> type;
};
template <typename Iterator>
static typename apply<Iterator>::type
call(Iterator)
{
- return vector<>();
+ return vector0<>();
}
};
@@ -82,7 +82,7 @@
{
BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _)
BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _)
- typedef vector<BOOST_PP_ENUM_PARAMS(N, T)> type;
+ typedef BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, T)> type;
};
template <typename Iterator>
Modified: branches/release/boost/fusion/container/vector/detail/vector_n_chooser.hpp
==============================================================================
--- branches/release/boost/fusion/container/vector/detail/vector_n_chooser.hpp (original)
+++ branches/release/boost/fusion/container/vector/detail/vector_n_chooser.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -48,7 +48,7 @@
template <>
struct vector_n_chooser<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, void_ BOOST_PP_INTERCEPT)>
{
- typedef vector0 type;
+ typedef vector0<> type;
};
#define BOOST_PP_FILENAME_1 \
Modified: branches/release/boost/fusion/container/vector/vector.hpp
==============================================================================
--- branches/release/boost/fusion/container/vector/vector.hpp (original)
+++ branches/release/boost/fusion/container/vector/vector.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -56,7 +56,7 @@
template <typename Sequence>
vector(Sequence const& rhs)
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1500)
: vec(ctor_helper(rhs, is_base_of<vector, Sequence>())) {}
#else
: vec(rhs) {}
@@ -129,7 +129,7 @@
private:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1500)
static vector_n const&
ctor_helper(vector const& rhs, mpl::true_)
{
Modified: branches/release/boost/fusion/container/vector/vector10.hpp
==============================================================================
--- branches/release/boost/fusion/container/vector/vector10.hpp (original)
+++ branches/release/boost/fusion/container/vector/vector10.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -39,7 +39,8 @@
struct fusion_sequence_tag;
struct random_access_traversal_tag;
- struct vector0 : sequence_base<vector0>
+ template <typename Dummy = void>
+ struct vector0 : sequence_base<vector0<Dummy> >
{
typedef mpl::vector0<> types;
typedef vector_tag fusion_tag;
Modified: branches/release/boost/fusion/container/vector/vector_iterator.hpp
==============================================================================
--- branches/release/boost/fusion/container/vector/vector_iterator.hpp (original)
+++ branches/release/boost/fusion/container/vector/vector_iterator.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -7,6 +7,11 @@
#if !defined(FUSION_VECTOR_ITERATOR_05042005_0635)
#define FUSION_VECTOR_ITERATOR_05042005_0635
+#if defined (BOOST_MSVC)
+# pragma warning(push)
+# pragma warning (disable: 4512) // assignment operator could not be generated.
+#endif
+
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/container/vector/detail/deref_impl.hpp>
#include <boost/fusion/container/vector/detail/value_of_impl.hpp>
@@ -42,5 +47,9 @@
};
}}
+#if defined (BOOST_MSVC)
+# pragma warning(pop)
+#endif
+
#endif
Modified: branches/release/boost/fusion/functional/adapter.hpp
==============================================================================
--- branches/release/boost/fusion/functional/adapter.hpp (original)
+++ branches/release/boost/fusion/functional/adapter.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -11,8 +11,6 @@
#include <boost/fusion/functional/adapter/fused.hpp>
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
-#include <boost/fusion/functional/adapter/unfused_generic.hpp>
-#include <boost/fusion/functional/adapter/unfused_lvalue_args.hpp>
-#include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
+#include <boost/fusion/functional/adapter/unfused.hpp>
#include <boost/fusion/functional/adapter/unfused_typed.hpp>
#endif
Modified: branches/release/boost/fusion/functional/adapter/limits.hpp
==============================================================================
--- branches/release/boost/fusion/functional/adapter/limits.hpp (original)
+++ branches/release/boost/fusion/functional/adapter/limits.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -11,29 +11,16 @@
# include <boost/fusion/container/vector/limits.hpp>
-# if !defined(BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY)
-# define BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY 6
+# if !defined(BOOST_FUSION_UNFUSED_MAX_ARITY)
+# define BOOST_FUSION_UNFUSED_MAX_ARITY 6
# elif BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE
# error "BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE"
# endif
-# if !defined(BOOST_FUSION_UNFUSED_RVALUE_ARGS_MAX_ARITY)
-# define BOOST_FUSION_UNFUSED_RVALUE_ARGS_MAX_ARITY 6
-# elif BOOST_FUSION_UNFUSED_RVALUE_ARGS_MAX_ARITY > FUSION_MAX_VECTOR_SIZE
-# error "BOOST_FUSION_UNFUSED_RVALUE_ARGS_MAX_ARITY > FUSION_MAX_VECTOR_SIZE"
-# endif
-# if !defined(BOOST_FUSION_UNFUSED_LVALUE_ARGS_MAX_ARITY)
-# define BOOST_FUSION_UNFUSED_LVALUE_ARGS_MAX_ARITY 6
-# elif BOOST_FUSION_UNFUSED_LVALUE_ARGS_MAX_ARITY > FUSION_MAX_VECTOR_SIZE
-# error "BOOST_FUSION_UNFUSED_LVALUE_ARGS_MAX_ARITY > FUSION_MAX_VECTOR_SIZE"
-# endif
# if !defined(BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY)
# define BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY 6
# elif BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE
# error "BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE"
# endif
-# if !defined(BOOST_FUSION_CONSTRUCTOR_MAX_ARITY)
-# define BOOST_FUSION_CONSTRUCTOR_MAX_ARITY 6
-# endif
#endif
Modified: branches/release/boost/fusion/functional/generation.hpp
==============================================================================
--- branches/release/boost/fusion/functional/generation.hpp (original)
+++ branches/release/boost/fusion/functional/generation.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -12,8 +12,6 @@
#include <boost/fusion/functional/generation/make_fused.hpp>
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
#include <boost/fusion/functional/generation/make_fused_function_object.hpp>
-#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
-#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
-#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
+#include <boost/fusion/functional/generation/make_unfused.hpp>
#endif
Added: branches/release/boost/fusion/functional/generation/make_unfused.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/fusion/functional/generation/make_unfused.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -0,0 +1,18 @@
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+
+ Use modification and distribution are subject to 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_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED)
+#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED
+
+#include <boost/fusion/functional/adapter/unfused.hpp>
+
+#define BOOST_FUSION_CLASS_TPL_NAME unfused
+#include <boost/fusion/functional/generation/detail/gen_make_adapter.hpp>
+
+#endif
+
Modified: branches/release/boost/fusion/include/remove.hpp
==============================================================================
--- branches/release/boost/fusion/include/remove.hpp (original)
+++ branches/release/boost/fusion/include/remove.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -4,9 +4,9 @@
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_REMOVE_IF)
-#define FUSION_INCLUDE_REMOVE_IF
+#if !defined(FUSION_INCLUDE_REMOVE)
+#define FUSION_INCLUDE_REMOVE
-#include <boost/fusion/algorithm/transformation/remove_if.hpp>
+#include <boost/fusion/algorithm/transformation/remove.hpp>
#endif
Modified: branches/release/boost/fusion/iterator/iterator_facade.hpp
==============================================================================
--- branches/release/boost/fusion/iterator/iterator_facade.hpp (original)
+++ branches/release/boost/fusion/iterator/iterator_facade.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -1,7 +1,7 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- 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(FUSION_ITERATOR_FACADE_09252006_1011)
@@ -9,6 +9,7 @@
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/iterator/detail/advance.hpp>
+#include <boost/fusion/iterator/detail/distance.hpp>
#include <boost/fusion/support/category_of.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/mpl/assert.hpp>
@@ -44,6 +45,13 @@
{
BOOST_MPL_ASSERT_NOT((traits::is_random_access<Iterator>));
};
+
+ // default implementation
+ template <typename First, typename Last>
+ struct distance :
+ distance_detail::linear_distance<First, Last>
+ {
+ };
};
}}
Modified: branches/release/boost/fusion/support/deduce.hpp
==============================================================================
--- branches/release/boost/fusion/support/deduce.hpp (original)
+++ branches/release/boost/fusion/support/deduce.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -88,6 +88,18 @@
// Keep references on arrays, even if const
template <typename T, int N>
+ struct deduce<T(&)[N]>
+ {
+ typedef T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<volatile T(&)[N]>
+ {
+ typedef volatile T(&type)[N];
+ };
+
+ template <typename T, int N>
struct deduce<const T(&)[N]>
{
typedef const T(&type)[N];
Modified: branches/release/boost/fusion/support/tag_of.hpp
==============================================================================
--- branches/release/boost/fusion/support/tag_of.hpp (original)
+++ branches/release/boost/fusion/support/tag_of.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -85,11 +85,11 @@
{
template <typename Sequence, typename Active>
struct tag_of
- : mpl::if_< detail::is_mpl_sequence<Sequence>,
+ : mpl::if_< fusion::detail::is_mpl_sequence<Sequence>,
mpl::identity<mpl_sequence_tag>,
mpl::identity<non_fusion_tag> >::type
{
- BOOST_MPL_ASSERT_NOT((detail::is_specialized<Sequence>));
+ BOOST_MPL_ASSERT_NOT((fusion::detail::is_specialized<Sequence>));
};
template <typename Sequence>
Modified: branches/release/boost/fusion/support/unused.hpp
==============================================================================
--- branches/release/boost/fusion/support/unused.hpp (original)
+++ branches/release/boost/fusion/support/unused.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -1,7 +1,7 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
- 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_SUPPORT_UNUSED_20070305_1038)
@@ -13,7 +13,10 @@
# pragma warning(disable: 4522) // multiple assignment operators specified warning
#endif
-namespace boost { namespace fusion {
+#define BOOST_FUSION_UNUSED_HAS_IO
+
+namespace boost { namespace fusion
+{
struct unused_type
{
unused_type()
@@ -53,6 +56,26 @@
};
unused_type const unused = unused_type();
+
+ namespace detail
+ {
+ struct unused_only
+ {
+ unused_only(unused_type const&) {}
+ };
+ }
+
+ template <typename Out>
+ inline Out& operator<<(Out& out, detail::unused_only const&)
+ {
+ return out;
+ }
+
+ template <typename In>
+ inline In& operator>>(In& in, unused_type&)
+ {
+ return in;
+ }
}}
#if defined(BOOST_MSVC)
Modified: branches/release/boost/fusion/view/ext_/segmented_iterator.hpp
==============================================================================
--- branches/release/boost/fusion/view/ext_/segmented_iterator.hpp (original)
+++ branches/release/boost/fusion/view/ext_/segmented_iterator.hpp 2009-09-14 03:40:39 EDT (Mon, 14 Sep 2009)
@@ -327,8 +327,8 @@
typedef typename Cons::car_type car_type;
typedef typename Cons::cdr_type cdr_type;
- explicit segmented_iterator(Cons const &cons)
- : cons_(cons)
+ explicit segmented_iterator(Cons const &c)
+ : cons_(c)
{}
cons_type const &cons() const { return this->cons_; };
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