merging tobias changes

[SVN r40397]
This commit is contained in:
Joel de Guzman
2007-10-24 04:58:50 +00:00
parent 3307c806c8
commit 2b9389ef5a

View File

@ -1,7 +1,7 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2007 Tobias Schwinger Copyright (c) 2007 Tobias Schwinger
Use modification and distribution are subject to the Boost Software Use modification and distribution are subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt). http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/ ==============================================================================*/
@ -10,9 +10,9 @@
#define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED #define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED
#include <boost/fusion/support/deduce.hpp> #include <boost/fusion/support/deduce.hpp>
#include <boost/fusion/container/vector/convert.hpp> #include <boost/fusion/sequence/conversion/as_vector.hpp>
#include <boost/fusion/mpl.hpp> #include <boost/fusion/sequence/view/transform_view.hpp>
#include <boost/mpl/transform.hpp>
namespace boost { namespace fusion { namespace traits namespace boost { namespace fusion { namespace traits
{ {
@ -22,19 +22,20 @@ namespace boost { namespace fusion { namespace traits
{ {
struct deducer struct deducer
{ {
template <typename T> template <typename Sig>
struct apply struct result;
template <class Self, typename T>
struct result< Self(T) >
: fusion::traits::deduce<T> : fusion::traits::deduce<T>
{ }; { };
}; };
} }
// We cannot use fusion::transform_view here as result_of loses cv qualifiers
// on built in types
template <class Sequence> template <class Sequence>
struct deduce_sequence struct deduce_sequence
: result_of::as_vector< : result_of::as_vector<
typename mpl::transform<Sequence, detail::deducer>::type> fusion::transform_view<Sequence, detail::deducer> >
{ }; { };
}}} }}}