Function objects#
SYCL provides a number of function objects in the sycl namespace on
host and device. All function objects obey C++ conversion and promotion
rules. Each function object is additionally specialized for void as
a transparent function object that deduces its parameter types and
return type.
See also
SYCL Specification Section 4.17.1.
namespace sycl {
template <typename T = void> struct plus {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct multiplies {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct bit_and {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct bit_or {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct bit_xor {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct logical_and {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct logical_or {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct minimum {
T operator()(const T& x, const T& y) const;
};
template <typename T = void> struct maximum {
T operator()(const T& x, const T& y) const;
};
} // namespace sycl
Member functions#
sycl::plus#
T operator()(const T& x, const T& y) const
Returns the sum of its arguments, equivalent to x + y.
sycl::multiplies#
T operator()(const T& x, const T& y) const
Returns the product of its arguments, equivalent to x * y.
sycl::bit_and#
T operator()(const T& x, const T& y) const
Returns the bitwise AND of its arguments, equivalent to x & y.
sycl::bit_or#
T operator()(const T& x, const T& y) const
Returns the bitwise OR of its arguments, equivalent to x | y.
sycl::bit_xor#
T operator()(const T& x, const T& y) const
Returns the bitwise XOR of its arguments, equivalent to x ^ y.
sycl::logical_and#
T operator()(const T& x, const T& y) const
Returns the logical AND of its arguments, equivalent to x && y.
sycl::logical_or#
T operator()(const T& x, const T& y) const
Returns the logical OR of its arguments, equivalent to x || y.
sycl::minimum#
T operator()(const T& x, const T& y) const
Returns the smaller value. Returns the first argument when the arguments are equivalent.
sycl::maximum#
T operator()(const T& x, const T& y) const
Returns the larger value. Returns the first argument when the arguments are equivalent.