renamed assign to copy and moved it to a new algorithm/auxiliary category

[SVN r69137]
This commit is contained in:
Joel de Guzman
2011-02-22 01:30:12 +00:00
parent dc2303d38b
commit 1efa444f24
5 changed files with 32 additions and 9 deletions

View File

@ -0,0 +1,12 @@
/*=============================================================================
Copyright (c) 2001-2011 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_ALGORITHM_AUXILIARY_02192011_0907)
#define FUSION_ALGORITHM_AUXILIARY_02192011_0907
#include <boost/fusion/algorithm/auxiliary/copy.hpp>
#endif

View File

@ -4,8 +4,8 @@
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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_ASSIGN_02162011_2308) #if !defined(FUSION_COPY_02162011_2308)
#define FUSION_ASSIGN_02162011_2308 #define FUSION_COPY_02162011_2308
#include <boost/fusion/sequence/intrinsic/begin.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp> #include <boost/fusion/sequence/intrinsic/end.hpp>
@ -23,7 +23,7 @@ namespace boost { namespace fusion
namespace detail namespace detail
{ {
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
struct sequence_assign struct sequence_copy
{ {
typedef typename result_of::end<Seq1>::type end1_type; typedef typename result_of::end<Seq1>::type end1_type;
typedef typename result_of::end<Seq2>::type end2_type; typedef typename result_of::end<Seq2>::type end2_type;
@ -54,12 +54,12 @@ namespace boost { namespace fusion
template <typename Seq1, typename Seq2> template <typename Seq1, typename Seq2>
inline void inline void
assign(Seq1 const& src, Seq2& dest) copy(Seq1 const& src, Seq2& dest)
{ {
BOOST_STATIC_ASSERT( BOOST_STATIC_ASSERT(
result_of::size<Seq1>::value == result_of::size<Seq2>::value); result_of::size<Seq1>::value == result_of::size<Seq2>::value);
detail::sequence_assign< detail::sequence_copy<
Seq1 const, Seq2>:: Seq1 const, Seq2>::
call(fusion::begin(src), fusion::begin(dest)); call(fusion::begin(src), fusion::begin(dest));
} }

View File

@ -4,9 +4,9 @@
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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/ ==============================================================================*/
#if !defined(FUSION_INCLUDE_ASSIGN) #if !defined(FUSION_INCLUDE_AUXILIARY)
#define FUSION_INCLUDE_ASSIGN #define FUSION_INCLUDE_AUXILIARY
#include <boost/fusion/sequence/intrinsic/assign.hpp> #include <boost/fusion/algorithm/auxiliary.hpp>
#endif #endif

View File

@ -0,0 +1,12 @@
/*=============================================================================
Copyright (c) 2001-2011 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_COPY)
#define FUSION_INCLUDE_COPY
#include <boost/fusion/algorithm/auxiliary/copy.hpp>
#endif

View File

@ -18,6 +18,5 @@
#include <boost/fusion/sequence/intrinsic/value_at.hpp> #include <boost/fusion/sequence/intrinsic/value_at.hpp>
#include <boost/fusion/sequence/intrinsic/at_key.hpp> #include <boost/fusion/sequence/intrinsic/at_key.hpp>
#include <boost/fusion/sequence/intrinsic/value_at_key.hpp> #include <boost/fusion/sequence/intrinsic/value_at_key.hpp>
#include <boost/fusion/sequence/intrinsic/assign.hpp>
#endif #endif