diff --git a/include/boost/fusion/container/deque/convert.hpp b/include/boost/fusion/container/deque/convert.hpp index 09b01291..85b98c60 100644 --- a/include/boost/fusion/container/deque/convert.hpp +++ b/include/boost/fusion/container/deque/convert.hpp @@ -46,6 +46,18 @@ namespace boost { namespace fusion template struct push_front_deque; + template + struct push_front_deque> + { + typedef deque type; + + static type + call(T const& first, deque<>) + { + return type(first); + } + }; + template struct push_front_deque> { @@ -54,7 +66,10 @@ namespace boost { namespace fusion static type call(T const& first, deque const& rest) { - return type(front_extended_deque, T>(rest, first)); + typedef + front_extended_deque, T> + front_extended; + return type(front_extended(rest, first)); } };