18 #ifdef __SYCL_INTERNAL_API
28 inline namespace _V1 {
32 template <backend BackendName,
class SyclObjectT>
34 -> backend_return_t<BackendName, SyclObjectT>;
57 #ifdef __SYCL_INTERNAL_API
69 bool operator==(
const event &rhs)
const;
71 bool operator!=(
const event &rhs)
const;
79 std::vector<event> get_wait_list();
87 static void wait(
const std::vector<event> &EventList);
108 template <
typename Param>
114 template <
typename Param>
116 get_backend_info()
const;
129 template <
typename Param>
131 get_profiling_info()
const;
139 event(
std::shared_ptr<detail::event_impl> EventImpl);
141 ur_native_handle_t getNative() const;
143 std::vector<ur_native_handle_t> getNativeVector() const;
145 std::shared_ptr<detail::event_impl> impl;
148 friend const decltype(Obj::impl) &
154 template <
backend BackendName, class SyclObjectT>
155 friend auto
get_native(const SyclObjectT &Obj)
163 template <>
struct hash<
sycl::event> {
165 return hash<std::shared_ptr<sycl::detail::event_impl>>()(
The context class represents a SYCL context on which kernel functions may be executed.
An event object can be used to synchronize memory transfers, enqueues of kernels and signaling barrie...
event & operator=(event &&rhs)=default
event(const event &rhs)=default
Constructs a SYCL event instance from an OpenCL cl_event.
event(event &&rhs)=default
event & operator=(const event &rhs)=default
decltype(Obj::impl) const & getSyclObjImpl(const Obj &SyclObject)
T createSyclObjFromImpl(decltype(T::impl) ImplObj)
auto get_native(const SyclObjectT &Obj) -> backend_return_t< BackendName, SyclObjectT >
typename backend_traits< Backend >::template return_type< SyclType > backend_return_t
static void wait_and_throw(sycl::queue q=get_default_queue())
_Abi const simd< _Tp, _Abi > & noexcept
size_t operator()(const sycl::event &e) const