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

@ -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)
{

View File

@ -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

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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>

View File

@ -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(

View File

@ -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);

View File

@ -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(

View File

@ -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));

View File

@ -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>

View File

@ -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&)
{

View File

@ -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>

View File

@ -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)
{

View File

@ -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&)
{

View File

@ -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)
{

View File

@ -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&)
{

View File

@ -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)
{

View File

@ -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>

View File

@ -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>