8#include "SD/export.hpp"
28 return std::ranges::any_of(m_events, [](
const auto&
e) {
29 return std::holds_alternative<WindowResizeEvent>(
e.event) ||
30 std::holds_alternative<SwapchainOutOfDateEvent>(
e.event);
36 return std::ranges::any_of(m_events,
37 [](
const auto&
e) {
return std::holds_alternative<T>(
e.event); });
43 for (
U64 i = 0;
i < m_events.count; ++
i) {
44 if (!std::holds_alternative<T>(m_events.data[
i].event)) {
46 m_events.data[write] = m_events.data[
i];
50 m_events.count = write;
58 template<
typename T,
typename...
Args>
63 auto begin() {
return m_events.begin(); }
64 auto end() {
return m_events.end(); }
SD_EXPORT Arena * arena_alloc(ArenaParams params={})
Definition arena.cpp:91
consteval U64 mb(U64 n)
Definition arena.hpp:19
consteval U64 kb(U64 n)
Definition arena.hpp:16
SD_EXPORT void arena_release(Arena *arena)
Definition arena.cpp:142
Definition Application.hpp:22
U64 reserve_size
Definition arena.hpp:69
Definition arena_vec.hpp:6
Definition EventManager.hpp:12
EventManager & operator=(const EventManager &)=delete
auto end()
Definition EventManager.hpp:64
void clear_type()
Definition EventManager.hpp:41
void push_event(Args &&... args)
Definition EventManager.hpp:59
bool has_event() const
Definition EventManager.hpp:35
void clear()
Definition EventManager.hpp:53
EventManager(EventManager &&)=default
EventManager()
Definition EventManager.hpp:13
EventManager(const EventManager &)=delete
~EventManager()
Definition EventManager.hpp:17
EventManager & operator=(EventManager &&)=default
ArenaVec< EventVariant > m_events
Definition EventManager.hpp:67
bool has_resize_event() const
Definition EventManager.hpp:27
auto begin()
Definition EventManager.hpp:63
Definition EventVariant.hpp:19
std::variant< KeyPressedEvent, KeyReleasedEvent, KeyTypedEvent, MousePressedEvent, MouseReleasedEvent, MouseMovedEvent, MouseScrolledEvent, WindowResizeEvent, WindowCloseEvent, SwapchainOutOfDateEvent, AppTerminateEvent > event
Definition EventVariant.hpp:36
consteval U64 type_id_of()
Definition type_id.hpp:6
std::uint64_t U64
Definition types.hpp:16