Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::arguments Namespace Reference

Functions

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >) *std::declval< Arg2 >))>::type operator* (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >) *std::declval< Arg2 >))>::type operator* (Arg2 const &a2, Arg1 const &a1)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument_pack< Arg1, Arg2 >::value, decltype(std::declval< typename Arg1::value_type >) *std::declval< typename Arg2::value_type >))>::type operator* (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >)+std::declval< Arg2 >))>::type operator+ (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >)+std::declval< Arg2 >))>::type operator+ (Arg2 const &a2, Arg1 const &a1)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument_pack< Arg1, Arg2 >::value, decltype(std::declval< typename Arg1::value_type >)+std::declval< typename Arg2::value_type >))>::type operator+ (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >) - std::declval< Arg2 >))>::type operator- (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >) - std::declval< Arg2 >))>::type operator- (Arg2 const &a2, Arg1 const &a1)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument_pack< Arg1, Arg2 >::value, decltype(std::declval< typename Arg1::value_type >) - std::declval< typename Arg2::value_type >))>::type operator- (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >)/std::declval< Arg2 >))>::type operator/ (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument< Arg1 >::value &&!detail::is_function_argument< Arg2 >::value, decltype(std::declval< typename Arg1::value_type >)/std::declval< Arg2 >))>::type operator/ (Arg2 const &a2, Arg1 const &a1)
 
template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if< detail::is_function_argument_pack< Arg1, Arg2 >::value, decltype(std::declval< typename Arg1::value_type >)/std::declval< typename Arg2::value_type >))>::type operator/ (Arg1 const &a1, Arg2 const &a2)
 
template<typename Arg >
std::enable_if< detail::is_function_argument< Arg >::value, std::ostream & >::type operator<< (std::ostream &s, const hydra::thrust::device_reference< Arg > &a)
 
template<typename Arg >
std::enable_if< detail::is_function_argument< Arg >::value, std::ostream & >::type operator<< (std::ostream &s, const Arg &a)
 

Function Documentation

◆ operator*() [1/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>)* std::declval<Arg2>) )>::type hydra::arguments::operator* ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator*() [2/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>)* std::declval<Arg2>) )>::type hydra::arguments::operator* ( Arg2 const &  a2,
Arg1 const &  a1 
)

◆ operator*() [3/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument_pack<Arg1, Arg2>::value,decltype(std::declval<typename Arg1::value_type>)* std::declval<typename Arg2::value_type>) )>::type hydra::arguments::operator* ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator+() [1/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>)+ std::declval<Arg2>) )>::type hydra::arguments::operator+ ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator+() [2/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>)+ std::declval<Arg2>) )>::type hydra::arguments::operator+ ( Arg2 const &  a2,
Arg1 const &  a1 
)

◆ operator+() [3/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument_pack<Arg1, Arg2>::value,decltype(std::declval<typename Arg1::value_type>)+ std::declval<typename Arg2::value_type>) )>::type hydra::arguments::operator+ ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator-() [1/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>)- std::declval<Arg2>) )>::type hydra::arguments::operator- ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator-() [2/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>)- std::declval<Arg2>) )>::type hydra::arguments::operator- ( Arg2 const &  a2,
Arg1 const &  a1 
)

◆ operator-() [3/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument_pack<Arg1, Arg2>::value,decltype(std::declval<typename Arg1::value_type>)- std::declval<typename Arg2::value_type>) )>::type hydra::arguments::operator- ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator/() [1/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>) / std::declval<Arg2>) )>::type hydra::arguments::operator/ ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator/() [2/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument<Arg1>::value && !detail::is_function_argument<Arg2>::value,decltype(std::declval<typename Arg1::value_type>) / std::declval<Arg2>) )>::type hydra::arguments::operator/ ( Arg2 const &  a2,
Arg1 const &  a1 
)

◆ operator/() [3/3]

template<typename Arg1 , typename Arg2 >
__hydra_host__ __hydra_device__ std::enable_if<detail::is_function_argument_pack<Arg1, Arg2>::value,decltype(std::declval<typename Arg1::value_type>)/ std::declval<typename Arg2::value_type>) )>::type hydra::arguments::operator/ ( Arg1 const &  a1,
Arg2 const &  a2 
)

◆ operator<<() [1/2]

template<typename Arg >
std::enable_if<detail::is_function_argument<Arg>::value, std::ostream&>::type hydra::arguments::operator<< ( std::ostream &  s,
const hydra::thrust::device_reference< Arg > &  a 
)
inline

◆ operator<<() [2/2]

template<typename Arg >
std::enable_if<detail::is_function_argument<Arg>::value, std::ostream&>::type hydra::arguments::operator<< ( std::ostream &  s,
const Arg &  a 
)
inline