summaryrefslogtreecommitdiff
path: root/boost/fusion/container/deque/detail/convert_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/deque/detail/convert_impl.hpp')
-rw-r--r--boost/fusion/container/deque/detail/convert_impl.hpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/boost/fusion/container/deque/detail/convert_impl.hpp b/boost/fusion/container/deque/detail/convert_impl.hpp
index 1401ef1ac8..f8ff54294e 100644
--- a/boost/fusion/container/deque/detail/convert_impl.hpp
+++ b/boost/fusion/container/deque/detail/convert_impl.hpp
@@ -8,7 +8,8 @@
#if !defined(FUSION_CONVERT_IMPL_20061213_2207)
#define FUSION_CONVERT_IMPL_20061213_2207
-#include <boost/fusion/container/deque/detail/as_deque.hpp>
+#include <boost/fusion/support/config.hpp>
+#include <boost/fusion/container/deque/convert.hpp>
#include <boost/fusion/container/deque/deque.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -17,6 +18,12 @@ namespace boost { namespace fusion
{
struct deque_tag;
+ namespace result_of
+ {
+ template <typename Sequence>
+ struct as_deque;
+ }
+
namespace extension
{
template <typename T>
@@ -28,14 +35,12 @@ namespace boost { namespace fusion
template <typename Sequence>
struct apply
{
- typedef detail::as_deque<result_of::size<Sequence>::value> gen;
- typedef typename gen::
- template apply<typename result_of::begin<Sequence>::type>::type
- type;
-
+ typedef result_of::as_deque<Sequence> gen;
+ typedef typename gen::type type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence& seq)
{
- return gen::call(fusion::begin(seq));
+ return gen::call(seq);
}
};
};