forked from boostorg/fusion
gpu-enable functions
This commit is contained in:
committed by
Eric Niebler
parent
867c7e5dfb
commit
c4f9f0d1b6
@ -14,136 +14,170 @@ namespace boost { namespace fusion
|
||||
typedef vector<
|
||||
T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
|
||||
base_type;
|
||||
tuple()
|
||||
BOOST_FUSION_GPU_ENABLED tuple()
|
||||
: base_type() {}
|
||||
tuple(tuple const& rhs)
|
||||
BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U1, typename U2>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(std::pair<U1, U2> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
explicit
|
||||
tuple(typename detail::call_param<T0 >::type _0)
|
||||
: base_type(_0) {}
|
||||
template <typename U0>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
|
||||
: base_type(_0 , _1) {}
|
||||
template <typename U0 , typename U1>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
|
||||
: base_type(_0 , _1 , _2) {}
|
||||
template <typename U0 , typename U1 , typename U2>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
|
||||
: base_type(_0 , _1 , _2 , _3) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
|
||||
: base_type(_0 , _1 , _2 , _3 , _4) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
|
||||
: base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
|
||||
: base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
|
||||
: base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
|
||||
: base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
|
||||
: base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
|
||||
: base_type(rhs) {}
|
||||
template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
template <typename T>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(T const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(tuple const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
return *this;
|
||||
}
|
||||
template <typename U1, typename U2>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
tuple& operator=(std::pair<U1, U2> const& rhs)
|
||||
{
|
||||
base_type::operator=(rhs);
|
||||
@ -155,6 +189,7 @@ namespace boost { namespace fusion
|
||||
template <int N, typename Tuple>
|
||||
struct tuple_element : result_of::value_at_c<Tuple, N> {};
|
||||
template <int N, typename Tuple>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename
|
||||
lazy_disable_if<
|
||||
is_const<Tuple>
|
||||
@ -165,6 +200,7 @@ namespace boost { namespace fusion
|
||||
return at_c<N>(tup);
|
||||
}
|
||||
template <int N, typename Tuple>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
inline typename result_of::at_c<Tuple const, N>::type
|
||||
get(Tuple const& tup)
|
||||
{
|
||||
|
Reference in New Issue
Block a user