forked from boostorg/fusion
Added move ctors for vector and deque (deque for gcc partially working for now)
no preprocessed files yet [SVN r80331]
This commit is contained in:
@ -71,11 +71,35 @@ namespace boost { namespace fusion
|
||||
: base(seq)
|
||||
{}
|
||||
|
||||
explicit deque(typename detail::call_param<Head>::type head
|
||||
, typename detail::call_param<Tail>::type... tail)
|
||||
#if !defined(BOOST_NO_RVALUE_REFERENCES)
|
||||
template <typename ...Elements>
|
||||
deque(deque<Elements...>&& seq)
|
||||
: base(std::forward<deque<Elements...>>(seq))
|
||||
{}
|
||||
#endif
|
||||
|
||||
deque(deque const& seq)
|
||||
: base(seq)
|
||||
{}
|
||||
|
||||
#if !defined(BOOST_NO_RVALUE_REFERENCES)
|
||||
deque(deque&& seq)
|
||||
: base(std::forward<deque>(seq))
|
||||
{}
|
||||
#endif
|
||||
|
||||
explicit deque(Head const& head, Tail const&... tail)
|
||||
: base(detail::deque_keyed_values<Head, Tail...>::call(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 Sequence>
|
||||
explicit deque(Sequence const& seq
|
||||
, typename disable_if<is_convertible<Sequence, Head> >::type* /*dummy*/ = 0)
|
||||
|
Reference in New Issue
Block a user