gpu-enable functions

This commit is contained in:
Eric Niebler
2014-01-09 17:58:06 -08:00
committed by Eric Niebler
parent 867c7e5dfb
commit c4f9f0d1b6
840 changed files with 7409 additions and 116 deletions

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_STRICTEST_TRAVERSAL_20060123_2101)
#define FUSION_STRICTEST_TRAVERSAL_20060123_2101
#include <boost/fusion/support/config.hpp>
#include <boost/config.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/if.hpp>
@ -58,6 +59,7 @@ namespace boost { namespace fusion
// never called, but needed for decltype-based result_of (C++0x)
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template<typename StrictestSoFar, typename Next>
BOOST_FUSION_GPU_ENABLED
typename result<strictest_traversal_impl(StrictestSoFar, Next)>::type
operator()(StrictestSoFar&&, Next&&) const;
#endif

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608)
#define FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/filter_view/filter_view.hpp>
#include <boost/fusion/view/filter_view/filter_view_iterator.hpp>

View File

@ -31,6 +31,7 @@ namespace boost { namespace fusion
typedef typename Sequence::category category;
typedef filter_iterator<category, first_type, last_type, pred_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref_data.hpp>
namespace boost { namespace fusion { namespace extension
@ -25,6 +26,7 @@ namespace boost { namespace fusion { namespace extension
result_of::deref_data<typename It::first_type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(It const& it)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_DEREF_IMPL_05062005_0905)
#define FUSION_DEREF_IMPL_05062005_0905
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/detail/adapt_deref_traits.hpp>
namespace boost { namespace fusion

View File

@ -30,6 +30,7 @@ namespace boost { namespace fusion
typedef typename Sequence::category category;
typedef filter_iterator<category,last_type, last_type, pred_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP
#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/key_of.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_NEXT_IMPL_06052005_0900)
#define FUSION_NEXT_IMPL_06052005_0900
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/algorithm/query/detail/find_if.hpp>
#include <boost/fusion/iterator/value_of.hpp>
#include <boost/mpl/eval_if.hpp>
@ -62,6 +63,7 @@ namespace boost { namespace fusion
category, typename filter::type, last_type, pred_type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SIZE_IMPL_09232005_1058)
#define FUSION_SIZE_IMPL_09232005_1058
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/distance.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/value_of_data.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_VALUE_OF_IMPL_05062005_0857)
#define FUSION_VALUE_OF_IMPL_05062005_0857
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/detail/adapt_value_traits.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_FILTER_VIEW_HPP)
#define FUSION_SEQUENCE_FILTER_VIEW_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/sequence_base.hpp>
#include <boost/fusion/support/is_view.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_FILTER_VIEW_ITERATOR_05062005_0849)
#define FUSION_FILTER_VIEW_ITERATOR_05062005_0849
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
#include <boost/fusion/iterator/value_of.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610)
#define FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/iterator_range/iterator_range.hpp>
#endif

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/advance.hpp>
#include <boost/fusion/iterator/deref.hpp>
@ -30,6 +31,7 @@ namespace boost { namespace fusion
typedef typename result_of::advance<begin_type,N>::type pos;
typedef typename result_of::deref<pos>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& s)
{

View File

@ -24,6 +24,7 @@ namespace boost { namespace fusion
{
typedef typename Sequence::begin_type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -24,6 +24,7 @@ namespace boost { namespace fusion
{
typedef typename Sequence::end_type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED)
#define BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/bool.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED)
#define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
@ -47,6 +48,7 @@ namespace boost { namespace fusion
}
template <typename Sequence, typename T>
BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@ -55,6 +57,7 @@ namespace boost { namespace fusion
push_back(Sequence const& seq, T const& x);
template <typename Sequence, typename T>
BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@ -149,6 +152,7 @@ namespace boost { namespace fusion { namespace detail
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(Stack const& stack)
{
//return segment_sequence(
@ -195,6 +199,7 @@ namespace boost { namespace fusion { namespace detail
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(Stack const& stack)
{
// return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin))));
@ -207,6 +212,7 @@ namespace boost { namespace fusion { namespace detail
{
typedef typename Stack::cdr_type type; // nil_
BOOST_FUSION_GPU_ENABLED
static type call(Stack const &stack)
{
return stack.cdr;
@ -292,6 +298,7 @@ namespace boost { namespace fusion { namespace detail
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(Stack const& stack)
{
// return segment_sequence(
@ -338,6 +345,7 @@ namespace boost { namespace fusion { namespace detail
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(Stack const& stack)
{
// return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end))));
@ -350,6 +358,7 @@ namespace boost { namespace fusion { namespace detail
{
typedef typename Stack::cdr_type type; // nil_
BOOST_FUSION_GPU_ENABLED
static type call(Stack const& stack)
{
return stack.cdr;
@ -428,6 +437,7 @@ namespace boost { namespace fusion { namespace detail
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(StackBegin stack_begin, StackEnd stack_end)
{
//return segment_sequence(
@ -461,6 +471,7 @@ namespace boost { namespace fusion { namespace detail
typename impl::type
type;
BOOST_FUSION_GPU_ENABLED
static type call(StackBegin stack_begin, StackEnd stack_end)
{
return impl::call(stack_begin.cdr, stack_end.cdr);
@ -490,6 +501,7 @@ namespace boost { namespace fusion { namespace detail
segment_sequence<segment_type>
type;
BOOST_FUSION_GPU_ENABLED
static type call(StackBegin stack_begin, StackEnd stack_end)
{
//return segment_sequence(
@ -519,6 +531,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename impl::type type;
BOOST_FUSION_GPU_ENABLED
static type call(Begin const& begin, End const& end)
{
return impl::call(

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED)
#define BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/fusion/sequence/intrinsic/segments.hpp>
#include <boost/fusion/support/is_segmented.hpp>
@ -40,6 +41,7 @@ namespace boost { namespace fusion
typename result_of::segments<typename impl::type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type call(Sequence & seq)
{
return fusion::segments(impl::call(seq.first, seq.last));

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/distance.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/advance.hpp>
#include <boost/fusion/iterator/value_of.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_ITERATOR_RANGE_05062005_1224)
#define FUSION_ITERATOR_RANGE_05062005_1224
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/sequence_base.hpp>
#include <boost/fusion/support/category_of.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610)
#define FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/joint_view/joint_view.hpp>
#include <boost/fusion/view/joint_view/joint_view_iterator.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_BEGIN_IMPL_07162005_0115)
#define FUSION_BEGIN_IMPL_07162005_0115
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
#include <boost/mpl/if.hpp>
@ -42,18 +43,21 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s, mpl::true_)
{
return s.concat();
}
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s, mpl::false_)
{
return type(s.first(), s.concat());
}
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref_data.hpp>
namespace boost { namespace fusion { namespace extension
@ -25,6 +26,7 @@ namespace boost { namespace fusion { namespace extension
result_of::deref_data<typename It::first_type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(It const& it)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_DEREF_IMPL_07162005_0137)
#define FUSION_DEREF_IMPL_07162005_0137
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/detail/adapt_deref_traits.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_END_IMPL_07162005_0128)
#define FUSION_END_IMPL_07162005_0128
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
#include <boost/mpl/if.hpp>
@ -27,6 +28,7 @@ namespace boost { namespace fusion
{
typedef typename Sequence::concat_last_type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP
#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/key_of.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_NEXT_IMPL_07162005_0136)
#define FUSION_NEXT_IMPL_07162005_0136
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/next.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
#include <boost/mpl/if.hpp>
@ -44,18 +45,21 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i, mpl::true_)
{
return i.concat;
}
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i, mpl::false_)
{
return type(fusion::next(i.first), i.concat);
}
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/value_of_data.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_VALUE_IMPL_07162005_0132)
#define FUSION_VALUE_IMPL_07162005_0132
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/detail/adapt_value_traits.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_JOINT_VIEW_07162005_0140)
#define FUSION_JOINT_VIEW_07162005_0140
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/joint_view/joint_view_fwd.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/is_view.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_JOINT_VIEW_ITERATOR_07162005_0140)
#define FUSION_JOINT_VIEW_ITERATOR_07162005_0140
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>

View File

@ -9,6 +9,7 @@
#if !defined(FUSION_NVIEW_SEP_23_2009_1107PM)
#define FUSION_NVIEW_SEP_23_2009_1107PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/nview/nview.hpp>
#include <boost/fusion/view/nview/nview_iterator.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM)
#define BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/advance.hpp>
#include <boost/fusion/iterator/advance.hpp>
@ -35,6 +36,7 @@ namespace boost { namespace fusion
typedef nview_iterator<sequence_type,
typename mpl::advance<iterator_type, Dist>::type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM)
#define BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
namespace boost { namespace fusion
@ -31,6 +32,7 @@ namespace boost { namespace fusion
typedef typename result_of::at<index_type, N>::type index;
typedef typename result_of::at<sequence_type, index>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM)
#define BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/begin.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
@ -34,6 +35,7 @@ namespace boost { namespace fusion
typedef nview_iterator<Sequence,
typename mpl::begin<index_type>::type> type;
BOOST_FUSION_GPU_ENABLED
static type call(Sequence& s)
{
return type(s);

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM)
#define BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/container/vector.hpp>
@ -33,6 +34,7 @@ namespace boost { namespace fusion
typedef typename result_of::at<
typename sequence_type::sequence_type, index>::type type;
BOOST_FUSION_GPU_ENABLED
static type call(Iterator const& i)
{
return at<index>(i.seq.seq);

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM)
#define BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/distance.hpp>
namespace boost { namespace fusion
@ -30,6 +31,7 @@ namespace boost { namespace fusion
typename First::first_type, typename Last::first_type
>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(First const& /*first*/, Last const& /*last*/)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM)
#define BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/end.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
@ -35,6 +36,7 @@ namespace boost { namespace fusion
typedef nview_iterator<Sequence,
typename mpl::end<index_type>::type> type;
BOOST_FUSION_GPU_ENABLED
static type call(Sequence& s)
{
return type(s);

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM)
#define BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM)
#define BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/next.hpp>
namespace boost { namespace fusion
@ -34,6 +35,7 @@ namespace boost { namespace fusion
typedef nview_iterator<sequence_type,
typename mpl::next<first_type>::type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -63,6 +63,7 @@ namespace boost { namespace fusion { namespace result_of
namespace boost { namespace fusion
{
template<BOOST_PP_ENUM_PARAMS(N, int I), typename Sequence>
BOOST_FUSION_GPU_ENABLED
inline nview<Sequence, mpl::vector_c<int, BOOST_PP_ENUM_PARAMS(N, I)> >
as_nview(Sequence& s)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM)
#define BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/prior.hpp>
namespace boost { namespace fusion
@ -34,6 +35,7 @@ namespace boost { namespace fusion
typedef nview_iterator<sequence_type,
typename mpl::prior<first_type>::type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM)
#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/distance.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM)
#define BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM)
#define BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/container/vector.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_NVIEW_SEP_23_2009_0948PM)
#define BOOST_FUSION_NVIEW_SEP_23_2009_0948PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/vector_c.hpp>
@ -39,6 +40,7 @@ namespace boost { namespace fusion
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
template <typename T>
BOOST_FUSION_GPU_ENABLED
typename add_reference<T>::type
operator()(T& x) const
{
@ -46,6 +48,7 @@ namespace boost { namespace fusion
}
#else
template <typename T>
BOOST_FUSION_GPU_ENABLED
typename result<addref(T)>::type
operator()(T&& x) const
{
@ -65,6 +68,7 @@ namespace boost { namespace fusion
{};
template <typename T>
BOOST_FUSION_GPU_ENABLED
typename add_reference<typename add_const<T>::type>::type
operator()(T& x) const
{
@ -72,6 +76,7 @@ namespace boost { namespace fusion
}
template <typename T>
BOOST_FUSION_GPU_ENABLED
typename add_reference<typename add_const<T>::type>::type
operator()(T const& x) const
{
@ -103,7 +108,7 @@ namespace boost { namespace fusion
typedef typename result_of::as_vector<transform_view_type>::type
sequence_type;
explicit nview(Sequence& val)
BOOST_FUSION_GPU_ENABLED explicit nview(Sequence& val)
: seq(sequence_type(transform_view_type(val, transform_type())))
{}

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM)
#define BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/support/category_of.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
@ -41,7 +42,7 @@ namespace boost { namespace fusion
typedef Sequence sequence_type;
typedef mpl_iterator<Pos> first_type;
explicit nview_iterator(Sequence& in_seq)
BOOST_FUSION_GPU_ENABLED explicit nview_iterator(Sequence& in_seq)
: seq(in_seq) {}
Sequence& seq;

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/repetitive_view/repetitive_view.hpp>
#include <boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp>
@ -34,6 +35,7 @@ namespace boost { namespace fusion
typedef repetitive_view_iterator<sequence_type,
typename result_of::begin<sequence_type>::type > type;
BOOST_FUSION_GPU_ENABLED
static type call(View const& v)
{
return type(v.seq);

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref.hpp>
namespace boost { namespace fusion
@ -29,6 +30,7 @@ namespace boost { namespace fusion
result_of::deref<typename Iterator::pos_type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type call(Iterator const& i)
{
return *i.pos;

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp>
@ -34,6 +35,7 @@ namespace boost { namespace fusion
typedef repetitive_view_iterator<sequence_type,
typename result_of::end<sequence_type>::type > type;
BOOST_FUSION_GPU_ENABLED
static type call(View const& v)
{
return type(v.seq,end(v.seq));

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/next.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
@ -41,6 +42,7 @@ namespace boost { namespace fusion
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(Iterator const& i)
{
return type(i.seq, next(i.pos));
@ -57,6 +59,7 @@ namespace boost { namespace fusion
>
type;
BOOST_FUSION_GPU_ENABLED
static type call(Iterator const& i)
{
return type(i.seq);
@ -77,6 +80,7 @@ namespace boost { namespace fusion
typedef Iterator type;
BOOST_FUSION_GPU_ENABLED
static type call(Iterator const& i)
{
return type(i);

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/value_of.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_REPETITIVE_VIEW_VIEW_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/mpl/if.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED)
#define BOOST_FUSION_REPETITIVE_VIEW_HPP_ITERATOR_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/support/category_of.hpp>
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
@ -35,7 +36,7 @@ namespace boost { namespace fusion
typedef typename convert_iterator<typename result_of::end<Sequence>::type>::type end_type;
typedef single_pass_traversal_tag category;
explicit repetitive_view_iterator(Sequence& in_seq)
BOOST_FUSION_GPU_ENABLED explicit repetitive_view_iterator(Sequence& in_seq)
: seq(in_seq), pos(begin(in_seq)) {}
repetitive_view_iterator(Sequence& in_seq, pos_type const& in_pos)

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612)
#define FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/reverse_view/reverse_view.hpp>
#include <boost/fusion/view/reverse_view/reverse_view_iterator.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_ADVANCE_IMPL_14122005_2015)
#define FUSION_ADVANCE_IMPL_14122005_2015
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/advance.hpp>
#include <boost/mpl/negate.hpp>
@ -34,6 +35,7 @@ namespace boost { namespace fusion {
typedef typename result_of::advance<first_type, negative_dist>::type advanced_type;
typedef reverse_view_iterator<advanced_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
#include <boost/mpl/minus.hpp>
#include <boost/mpl/int.hpp>
@ -29,6 +30,7 @@ namespace boost { namespace fusion { namespace extension
result_of::at<typename Seq::seq_type, real_n>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{

View File

@ -27,6 +27,7 @@ namespace boost { namespace fusion
{
typedef reverse_view_iterator<typename Sequence::last_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence const& s)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref_data.hpp>
namespace boost { namespace fusion { namespace extension
@ -25,6 +26,7 @@ namespace boost { namespace fusion { namespace extension
result_of::deref_data<typename It::first_type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(It const& it)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_DEREF_IMPL_07202005_0851)
#define FUSION_DEREF_IMPL_07202005_0851
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/prior.hpp>
@ -33,6 +34,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_DISTANCE_IMPL_14122005_2104)
#define FUSION_DISTANCE_IMPL_14122005_2104
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/distance.hpp>
namespace boost { namespace fusion {
@ -32,6 +33,7 @@ namespace boost { namespace fusion {
typedef typename Last::first_type last_type;
typedef typename result_of::distance<last_type, first_type>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(First const& first, Last const& last)
{

View File

@ -27,6 +27,7 @@ namespace boost { namespace fusion
{
typedef reverse_view_iterator<typename Sequence::first_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence const& s)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/key_of.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_NEXT_IMPL_07202005_0856)
#define FUSION_NEXT_IMPL_07202005_0856
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/next.hpp>
#include <boost/fusion/iterator/prior.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion
typedef reverse_view_iterator<typename wrapped::type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_PRIOR_IMPL_07202005_0857)
#define FUSION_PRIOR_IMPL_07202005_0857
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/next.hpp>
#include <boost/fusion/iterator/prior.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion
typedef reverse_view_iterator<typename wrapped::type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
#include <boost/mpl/minus.hpp>
#include <boost/mpl/int.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/value_of_data.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_VALUE_OF_IMPL_07202005_0900)
#define FUSION_VALUE_OF_IMPL_07202005_0900
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/value_of.hpp>
#include <boost/fusion/iterator/prior.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_REVERSE_VIEW_07202005_0836)
#define FUSION_REVERSE_VIEW_07202005_0836
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/is_view.hpp>
#include <boost/fusion/support/category_of.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_REVERSE_VIEW_ITERATOR_07202005_0835)
#define FUSION_REVERSE_VIEW_ITERATOR_07202005_0835
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/support/category_of.hpp>
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SINGLE_VIEW_03192006_2216)
#define FUSION_SINGLE_VIEW_03192006_2216
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/single_view/single_view.hpp>
#include <boost/fusion/view/single_view/single_view_iterator.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM)
#define BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/plus.hpp>
namespace boost { namespace fusion
@ -33,6 +34,7 @@ namespace boost { namespace fusion
typename mpl::plus<typename Iterator::position, Dist>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM)
#define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/equal_to.hpp>
@ -30,6 +31,7 @@ namespace boost { namespace fusion
BOOST_MPL_ASSERT((mpl::equal_to<N, mpl::int_<0> >));
typedef typename Sequence::value_type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305)
#define BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
namespace boost { namespace fusion
@ -30,6 +31,7 @@ namespace boost { namespace fusion
{
typedef single_view_iterator<Sequence, mpl::int_<0> > type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258)
#define BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/equal_to.hpp>
@ -30,6 +31,7 @@ namespace boost { namespace fusion
BOOST_MPL_ASSERT((mpl::equal_to<typename Iterator::position, mpl::int_<0> >));
typedef typename Iterator::value_type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM)
#define BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/minus.hpp>
namespace boost { namespace fusion
@ -29,6 +30,7 @@ namespace boost { namespace fusion
typedef typename mpl::minus<typename Last::position,
typename First::position>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(First const& /*first*/, Last const& /*last*/)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332)
#define BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
namespace boost { namespace fusion
@ -30,6 +31,7 @@ namespace boost { namespace fusion
{
typedef single_view_iterator<Sequence, mpl::int_<1> > type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM)
#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/equal_to.hpp>
#include <boost/type_traits/is_same.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331)
#define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/next.hpp>
#include <boost/static_assert.hpp>
@ -34,6 +35,7 @@ namespace boost { namespace fusion
typename mpl::next<typename Iterator::position>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM)
#define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/prior.hpp>
namespace boost { namespace fusion
@ -32,6 +33,7 @@ namespace boost { namespace fusion
typename mpl::prior<typename Iterator::position>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM)
#define BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/equal_to.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324)
#define BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/equal_to.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_05052005_0335)
#define BOOST_FUSION_SINGLE_VIEW_05052005_0335
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
#include <boost/fusion/support/sequence_base.hpp>
@ -45,13 +46,14 @@ namespace boost { namespace fusion
single_view()
: val() {}
explicit single_view(typename detail::call_param<T>::type in_val)
BOOST_FUSION_GPU_ENABLED explicit single_view(typename detail::call_param<T>::type in_val)
: val(in_val) {}
value_type val;
};
template <typename T>
BOOST_FUSION_GPU_ENABLED
inline single_view<typename detail::as_fusion_element<T>::type>
make_single_view(T const& v)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340)
#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/view/single_view/detail/deref_impl.hpp>
@ -39,7 +40,7 @@ namespace boost { namespace fusion
typedef Pos position;
typedef SingleView single_view_type;
explicit single_view_iterator(single_view_type& in_view)
BOOST_FUSION_GPU_ENABLED explicit single_view_iterator(single_view_type& in_view)
: view(in_view) {}
SingleView& view;

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612)
#define FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/transform_view/transform_view.hpp>
#include <boost/fusion/view/transform_view/transform_view_iterator.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_ADVANCE_IMPL_13122005_1906)
#define FUSION_ADVANCE_IMPL_13122005_1906
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/advance.hpp>
namespace boost { namespace fusion
@ -38,6 +39,7 @@ namespace boost { namespace fusion
typedef typename Iterator::transform_type transform_type;
typedef transform_view_iterator<advanced_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
@ -60,6 +62,7 @@ namespace boost { namespace fusion
typedef typename Iterator::transform_type transform_type;
typedef transform_view_iterator2<advanced1_type, advanced2_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936)
#define BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936
#include <boost/fusion/support/config.hpp>
#include <boost/utility/result_of.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_AT_IMPL_20061029_1946)
#define BOOST_FUSION_AT_IMPL_20061029_1946
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/apply.hpp>
#include <boost/fusion/view/transform_view/detail/apply_transform_result.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion {
typedef typename boost::fusion::result_of::at<typename Seq::sequence_type, N>::type value_type;
typedef typename mpl::apply<transform_type, value_type>::type type;
BOOST_FUSION_GPU_ENABLED
static type call(Seq& seq)
{
return seq.f(boost::fusion::at<N>(seq.seq));
@ -51,6 +53,7 @@ namespace boost { namespace fusion {
typedef typename boost::fusion::result_of::at<typename Seq::sequence2_type, N>::type value2_type;
typedef typename mpl::apply<transform_type, value1_type, value2_type>::type type;
BOOST_FUSION_GPU_ENABLED
static type call(Seq& seq)
{
return seq.f(boost::fusion::at<N>(seq.seq1), boost::fusion::at<N>(seq.seq2));

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_BEGIN_IMPL_07162005_1031)
#define FUSION_BEGIN_IMPL_07162005_1031
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/transform_view/transform_view_fwd.hpp>
namespace boost { namespace fusion
@ -33,6 +34,7 @@ namespace boost { namespace fusion
typedef typename Sequence::transform_type transform_type;
typedef transform_view_iterator<first_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{
@ -53,6 +55,7 @@ namespace boost { namespace fusion
typedef typename Sequence::transform_type transform_type;
typedef transform_view_iterator2<first1_type, first2_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_DEREF_IMPL_07162005_1026)
#define FUSION_DEREF_IMPL_07162005_1026
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/apply.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/value_of.hpp>
@ -36,6 +37,7 @@ namespace boost { namespace fusion
typedef detail::apply_transform_result<typename Iterator::transform_type> transform_type;
typedef typename mpl::apply<transform_type, value_type>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
@ -61,6 +63,7 @@ namespace boost { namespace fusion
typedef detail::apply_transform_result<typename Iterator::transform_type> transform_type;
typedef typename mpl::apply<transform_type, value1_type, value2_type>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_DISTANCE_IMPL_13122005_2139)
#define FUSION_DISTANCE_IMPL_13122005_2139
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/distance.hpp>
namespace boost { namespace fusion {
@ -28,6 +29,7 @@ namespace boost { namespace fusion {
struct apply
: result_of::distance<typename First::first_type, typename Last::first_type>
{
BOOST_FUSION_GPU_ENABLED
static
typename result_of::distance<typename First::first_type, typename Last::first_type>::type
call(First const& first, Last const& last)
@ -45,6 +47,7 @@ namespace boost { namespace fusion {
struct apply
: result_of::distance<typename First::first1_type, typename Last::first1_type>
{
BOOST_FUSION_GPU_ENABLED
static
typename result_of::distance<typename First::first1_type, typename Last::first1_type>::type
call(First const& first, Last const& last)

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_END_IMPL_07162005_1028)
#define FUSION_END_IMPL_07162005_1028
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/transform_view/transform_view_fwd.hpp>
namespace boost { namespace fusion
@ -33,6 +34,7 @@ namespace boost { namespace fusion
typedef typename Sequence::transform_type transform_type;
typedef transform_view_iterator<last_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{
@ -53,6 +55,7 @@ namespace boost { namespace fusion
typedef typename Sequence::transform_type transform_type;
typedef transform_view_iterator2<last1_type, last2_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957)
#define BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
namespace boost { namespace fusion {

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_NEXT_IMPL_07162005_1029)
#define FUSION_NEXT_IMPL_07162005_1029
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/next.hpp>
namespace boost { namespace fusion
@ -37,6 +38,7 @@ namespace boost { namespace fusion
typedef typename Iterator::transform_type transform_type;
typedef transform_view_iterator<next_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
@ -59,6 +61,7 @@ namespace boost { namespace fusion
typedef typename Iterator::transform_type transform_type;
typedef transform_view_iterator2<next1_type, next2_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_PREV_IMPL_13122005_2110)
#define FUSION_PREV_IMPL_13122005_2110
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/prior.hpp>
namespace boost { namespace fusion
@ -38,6 +39,7 @@ namespace boost { namespace fusion
typedef typename Iterator::transform_type transform_type;
typedef transform_view_iterator<prior_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
@ -60,6 +62,7 @@ namespace boost { namespace fusion
typedef typename Iterator::transform_type transform_type;
typedef transform_view_iterator2<prior1_type, prior2_type, transform_type> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_VALUE_AT_IMPL_20061101_0745)
#define BOOST_FUSION_VALUE_AT_IMPL_20061101_0745
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/apply.hpp>
#include <boost/fusion/view/transform_view/detail/apply_transform_result.hpp>
#include <boost/fusion/sequence/intrinsic/value_at.hpp>

Some files were not shown because too many files have changed in this diff Show More