Merge from trunk

[SVN r81061]
This commit is contained in:
Joel de Guzman
2012-10-25 02:06:21 +00:00
parent 940c594d3e
commit fc38122f0f
21 changed files with 525 additions and 171 deletions

View File

@ -106,6 +106,11 @@ namespace boost { namespace fusion
vector(vector const& rhs)
: vec(rhs.vec) {}
#if !defined(BOOST_NO_RVALUE_REFERENCES)
vector(vector&& rhs)
: vec(std::forward<vector_n>(rhs.vec)) {}
#endif
template <typename Sequence>
vector(Sequence const& rhs)
: vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
@ -135,6 +140,23 @@ namespace boost { namespace fusion
return *this;
}
#if !defined(BOOST_NO_RVALUE_REFERENCES)
vector&
operator=(vector&& rhs)
{
vec = std::forward<vector_n>(rhs.vec);
return *this;
}
template <typename T>
vector&
operator=(T&& rhs)
{
vec = std::forward<T>(rhs);
return *this;
}
#endif
template <int N>
typename add_reference<
typename mpl::at_c<types, N>::type