mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-20 07:42:11 +02:00
deque fix for ambiguity and making ctors explicit
[SVN r78056]
This commit is contained in:
@ -31,7 +31,9 @@ namespace boost { namespace fusion
|
|||||||
struct deque_tag;
|
struct deque_tag;
|
||||||
|
|
||||||
template <typename ...Elements>
|
template <typename ...Elements>
|
||||||
struct deque;
|
struct deque : detail::nil_keyed_element
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
template <typename Head, typename ...Tail>
|
template <typename Head, typename ...Tail>
|
||||||
struct deque<Head, Tail...>
|
struct deque<Head, Tail...>
|
||||||
@ -49,22 +51,18 @@ namespace boost { namespace fusion
|
|||||||
deque()
|
deque()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
explicit deque(typename add_reference<typename add_const<Head>::type>::type elem)
|
|
||||||
: base(elem, detail::nil_keyed_element())
|
|
||||||
{}
|
|
||||||
|
|
||||||
template <typename ...Elements>
|
template <typename ...Elements>
|
||||||
deque(deque<Elements...> const& seq)
|
deque(deque<Elements...> const& seq)
|
||||||
: base(seq)
|
: base(seq)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
deque(typename add_reference<typename add_const<Head>::type>::type head
|
explicit deque(typename add_reference<typename add_const<Head>::type>::type head
|
||||||
, typename add_reference<typename add_const<Tail>::type>::type... tail)
|
, typename add_reference<typename add_const<Tail>::type>::type... tail)
|
||||||
: base(detail::deque_keyed_values<Head, Tail...>::call(head, tail...))
|
: base(detail::deque_keyed_values<Head, Tail...>::call(head, tail...))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template <typename Sequence>
|
template <typename Sequence>
|
||||||
deque(Sequence const& seq
|
explicit deque(Sequence const& seq
|
||||||
, typename disable_if<is_convertible<Sequence, Head> >::type* /*dummy*/ = 0)
|
, typename disable_if<is_convertible<Sequence, Head> >::type* /*dummy*/ = 0)
|
||||||
: base(base::from_iterator(fusion::begin(seq)))
|
: base(base::from_iterator(fusion::begin(seq)))
|
||||||
{}
|
{}
|
||||||
|
Reference in New Issue
Block a user