EventVk.h#
PVRVk Event class.
Includes#
PVRVk/DeviceVk.h
Included By#
Namespaces#
Classes#
Source Code#
#pragma once
#include "PVRVk/DeviceVk.h"
namespace pvrvk {
namespace impl {
class Event_ : public PVRVkDeviceObjectBase<VkEvent, ObjectType::e_EVENT>, public DeviceObjectDebugUtils<Event_>
{
private:
friend class Device_;
class make_shared_enabler
{
protected:
make_shared_enabler() {}
friend class Event_;
};
static Event constructShared(const DeviceWeakPtr& device, const EventCreateInfo& createInfo) { return std::make_shared<Event_>(make_shared_enabler{}, device, createInfo); }
EventCreateInfo _createInfo;
public:
DECLARE_NO_COPY_SEMANTICS(Event_)
Event_(make_shared_enabler, const DeviceWeakPtr& device, const EventCreateInfo& createInfo);
~Event_();
void set();
void reset();
bool isSet();
inline EventCreateFlags getFlags() const { return _createInfo.getFlags(); }
EventCreateInfo getCreateInfo() const { return _createInfo; }
};
} // namespace impl
} // namespace pvrvk