15 template<alpaka::concepts::Api T_Api, alpaka::concepts::DeviceKind T_DeviceKind>
18 template<
typename T_Device>
21 template<alpaka::concepts::Api T_Api, alpaka::concepts::DeviceKind T_DeviceKind>
27 internal::MakeEvent::Op<
ALPAKA_TYPEOF(*std::declval<DeviceInterface>().
get())>{}(
28 *std::declval<DeviceInterface>().get()));
35 template<
typename T_Event>
47 return alpaka::internal::getApi(*m_event.get());
52 return alpaka::internal::GetName::Op<std::decay_t<
decltype(*m_event.get())>>{}(*m_event.get());
57 return internal::getNativeHandle(*m_event.get());
62 return this->
get() == other.get();
67 return this->
get() != other.get();
81 return alpaka::onHost::internal::isEventComplete(*m_event.get());
85 template<
typename T_Event>
87 ALPAKA_TYPEOF(alpaka::internal::getApi(std::declval<T_Event>())),
88 ALPAKA_TYPEOF(alpaka::internal::getDeviceKind(std::declval<T_Event>()))>>;
#define ALPAKA_TYPEOF(...)
Get the type of instance.
Functionality which is usable on the host CPU controller thread.
Event(Handle< T_Event > &&) -> Event< Device< ALPAKA_TYPEOF(alpaka::internal::getApi(std::declval< T_Event >())), ALPAKA_TYPEOF(alpaka::internal::getDeviceKind(std::declval< T_Event >()))> >
std::shared_ptr< T > Handle
constexpr decltype(auto) get(concepts::SpecializationOf< Dict > auto &t) noexcept
Description of a specific device that one can schedule kernels on.
auto getDevice() const
Get the device of this event.
auto getNativeHandle() const
bool operator==(Event const &other) const
std::string getName() const
Event(Handle< T_Event > &&event)
typename EventHandle::element_type element_type
constexpr auto getApi() const
bool operator!=(Event const &other) const