forked from boostorg/fusion
gpu-enable functions
This commit is contained in:
committed by
Eric Niebler
parent
867c7e5dfb
commit
c4f9f0d1b6
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_AT_05042005_0722)
|
||||
#define FUSION_AT_05042005_0722
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/mpl/int.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
@ -71,6 +72,7 @@ namespace boost { namespace fusion
|
||||
|
||||
|
||||
template <typename N, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_disable_if<
|
||||
is_const<Sequence>
|
||||
@ -82,6 +84,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename N, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::at<Sequence const, N>::type
|
||||
at(Sequence const& seq)
|
||||
{
|
||||
@ -89,6 +92,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <int N, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_disable_if<
|
||||
is_const<Sequence>
|
||||
@ -100,6 +104,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <int N, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::at_c<Sequence const, N>::type
|
||||
at_c(Sequence const& seq)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_AT_C_08252008_0308)
|
||||
#define FUSION_AT_C_08252008_0308
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/at.hpp>
|
||||
|
||||
#endif
|
||||
|
@ -8,6 +8,7 @@
|
||||
#if !defined(BOOST_FUSION_AT_KEY_20060304_1755)
|
||||
#define BOOST_FUSION_AT_KEY_20060304_1755
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/algorithm/query/find.hpp>
|
||||
@ -37,6 +38,7 @@ namespace boost { namespace fusion
|
||||
>::type
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Seq& seq)
|
||||
{
|
||||
@ -72,6 +74,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Key, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_disable_if<
|
||||
is_const<Sequence>
|
||||
@ -83,6 +86,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Key, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::at_key<Sequence const, Key>::type
|
||||
at_key(Sequence const& seq)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_BACK_09162005_0350)
|
||||
#define FUSION_BACK_09162005_0350
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/end.hpp>
|
||||
#include <boost/fusion/iterator/prior.hpp>
|
||||
@ -26,6 +27,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::back<Sequence>::type
|
||||
back(Sequence& seq)
|
||||
{
|
||||
@ -33,6 +35,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::back<Sequence const>::type
|
||||
back(Sequence const& seq)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_BEGIN_04052005_1132)
|
||||
#define FUSION_BEGIN_04052005_1132
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/blank.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
@ -70,6 +71,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_enable_if<
|
||||
traits::is_sequence<Sequence>
|
||||
@ -81,6 +83,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_enable_if<
|
||||
traits::is_sequence<Sequence>
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp>
|
||||
#include <boost/fusion/iterator/segmented_iterator.hpp>
|
||||
#include <boost/fusion/view/iterator_range.hpp>
|
||||
@ -31,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
>
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type call(Sequence& seq)
|
||||
{
|
||||
return type(
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/remove_const.hpp>
|
||||
#include <boost/fusion/container/list/cons_fwd.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
@ -37,6 +38,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
typedef cons<range_type, Context> type;
|
||||
typedef mpl::false_ continue_type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun)
|
||||
{
|
||||
return type(range_type(fusion::begin(seq), fusion::end(seq)), context);
|
||||
@ -62,6 +64,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
|
||||
typedef typename fold_impl::type type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type call(Sequence& seq, Stack const& stack)
|
||||
{
|
||||
return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun());
|
||||
@ -76,6 +79,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
typedef iterator_range<begin_type, end_type> pair_type;
|
||||
typedef cons<pair_type, Stack> type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type call(Sequence& seq, Stack stack)
|
||||
{
|
||||
return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack);
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp>
|
||||
#include <boost/fusion/iterator/segmented_iterator.hpp>
|
||||
#include <boost/fusion/container/list/cons.hpp>
|
||||
@ -27,6 +28,7 @@ namespace boost { namespace fusion { namespace detail
|
||||
>
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type call(Sequence & seq)
|
||||
{
|
||||
return type(
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED)
|
||||
#define BOOST_FUSION_SEGMENTED_END_IMPL_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 { namespace detail
|
||||
typedef iterator_range<end_type, end_type> pair_type;
|
||||
typedef cons<pair_type, Stack> type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
static type call(Sequence & seq, Stack stack)
|
||||
{
|
||||
end_type end = fusion::end(fusion::segments(seq));
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(BOOST_FUSION_SEGMENTED_SIZE_08112006_1141)
|
||||
#define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/add_const.hpp>
|
||||
#include <boost/type_traits/remove_reference.hpp>
|
||||
#include <boost/mpl/fold.hpp>
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_EMPTY_09162005_0335)
|
||||
#define FUSION_EMPTY_09162005_0335
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/size.hpp>
|
||||
#include <boost/mpl/bool.hpp>
|
||||
@ -50,6 +51,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::empty<Sequence>::type
|
||||
empty(Sequence const&)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_END_04052005_1141)
|
||||
#define FUSION_END_04052005_1141
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/blank.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
@ -70,6 +71,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_enable_if<
|
||||
traits::is_sequence<Sequence>
|
||||
@ -81,6 +83,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_enable_if<
|
||||
traits::is_sequence<Sequence>
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_FRONT_09162005_0343)
|
||||
#define FUSION_FRONT_09162005_0343
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic/begin.hpp>
|
||||
#include <boost/fusion/iterator/deref.hpp>
|
||||
@ -25,6 +26,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::front<Sequence>::type
|
||||
front(Sequence& seq)
|
||||
{
|
||||
@ -32,6 +34,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::front<Sequence const>::type
|
||||
front(Sequence const& seq)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_HAS_KEY_09232005_1454)
|
||||
#define FUSION_HAS_KEY_09232005_1454
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/support/tag_of.hpp>
|
||||
#include <boost/fusion/iterator/equal_to.hpp>
|
||||
@ -67,6 +68,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Key, typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::has_key<Sequence, Key>::type
|
||||
has_key(Sequence const&)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(BOOST_FUSION_SEGMENTS_04052005_1141)
|
||||
#define BOOST_FUSION_SEGMENTS_04052005_1141
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
@ -53,6 +54,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_disable_if<
|
||||
is_const<Sequence>
|
||||
@ -65,6 +67,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::segments<Sequence const>::type
|
||||
segments(Sequence const& seq)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_SIZE_05052005_0214)
|
||||
#define FUSION_SIZE_05052005_0214
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/mpl/int.hpp>
|
||||
@ -77,6 +78,7 @@ namespace boost { namespace fusion
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::size<Sequence>::type
|
||||
size(Sequence const&)
|
||||
{
|
||||
|
@ -8,6 +8,7 @@
|
||||
#if !defined(BOOST_FUSION_SWAP_20070501_1956)
|
||||
#define BOOST_FUSION_SWAP_20070501_1956
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <algorithm>
|
||||
|
||||
#include <boost/fusion/support/is_sequence.hpp>
|
||||
@ -39,6 +40,7 @@ namespace boost { namespace fusion {
|
||||
};
|
||||
|
||||
template<typename Elem>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
void operator()(Elem const& e) const
|
||||
{
|
||||
using std::swap;
|
||||
@ -48,6 +50,7 @@ namespace boost { namespace fusion {
|
||||
}
|
||||
|
||||
template<typename Seq1, typename Seq2>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
typename enable_if<mpl::and_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >, void>::type
|
||||
swap(Seq1& lhs, Seq2& rhs)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#if !defined(FUSION_VALUE_AT_05052005_0229)
|
||||
#define FUSION_VALUE_AT_05052005_0229
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/mpl/int.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/support/tag_of.hpp>
|
||||
|
@ -8,6 +8,7 @@
|
||||
#if !defined(FUSION_VALUE_AT_KEY_05052005_0229)
|
||||
#define FUSION_VALUE_AT_KEY_05052005_0229
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/mpl/int.hpp>
|
||||
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
|
||||
#include <boost/fusion/iterator/value_of_data.hpp>
|
||||
|
Reference in New Issue
Block a user