deque move-ctor OK on gcc

[SVN r80334]
This commit is contained in:
Joel de Guzman
2012-08-31 15:58:31 +00:00
parent 5946ab9936
commit 3613310b62
3 changed files with 34 additions and 11 deletions

View File

@ -71,6 +71,11 @@ namespace boost { namespace fusion
: base(seq)
{}
template <typename ...Elements>
deque(deque<Elements...>& seq)
: base(seq)
{}
#if !defined(BOOST_NO_RVALUE_REFERENCES)
template <typename ...Elements>
deque(deque<Elements...>&& seq)
@ -89,16 +94,21 @@ namespace boost { namespace fusion
#endif
explicit deque(Head const& head, Tail const&... tail)
: base(detail::deque_keyed_values<Head, Tail...>::call(head, tail...))
: base(detail::deque_keyed_values<Head, Tail...>::construct(head, tail...))
{}
//~ #if !defined(BOOST_NO_RVALUE_REFERENCES)
//~ template <typename Head_, typename ...Tail_>
//~ explicit deque(Head_&& head, Tail_&&... tail)
//~ : base(detail::deque_keyed_values<Head_, Tail_...>
//~ ::call(std::forward<Head_>(head), std::forward<Tail_>(tail)...))
//~ {}
//~ #endif
template <typename Head_, typename ...Tail_>
explicit deque(Head_ const& head, Tail_ const&... tail)
: base(detail::deque_keyed_values<Head_, Tail_...>::construct(head, tail...))
{}
#if !defined(BOOST_NO_RVALUE_REFERENCES)
template <typename Head_, typename ...Tail_>
explicit deque(Head_&& head, Tail_&&... tail)
: base(detail::deque_keyed_values<Head, Tail...>
::forward_(std::forward<Head_>(head), std::forward<Tail_>(tail)...))
{}
#endif
template <typename Sequence>
explicit deque(Sequence const& seq