libdonut
2.3.2
Application framework for cross-platform game development in C++20
|
Data structure containing information about an event. More...
#include <donut/events/Event.hpp>
Additional Inherited Members | |
Public Types inherited from donut::Variant< ApplicationQuitRequestedEvent, ApplicationTerminatingEvent, ApplicationLowMemoryEvent, ApplicationPausingEvent, ApplicationPausedEvent, ApplicationUnpausingEvent, ApplicationUnpausedEvent, WindowShownEvent, WindowHiddenEvent, WindowExposedEvent, WindowMovedEvent, WindowResizedEvent, WindowSizeChangedEvent, WindowMinimizedEvent, WindowMaximizedEvent, WindowRestoredEvent, WindowMouseFocusGainedEvent, WindowMouseFocusLostEvent, WindowKeyboardFocusGainedEvent, WindowKeyboardFocusLostEvent, WindowCloseRequestedEvent, WindowDisplayChangedEvent, KeyPressedEvent, KeyPressRepeatedEvent, KeyReleasedEvent, TextInputEditedEvent, TextInputSubmittedEvent, MouseMovedEvent, MouseButtonPressedEvent, MouseButtonReleasedEvent, MouseWheelScrolledEvent, ControllerAddedEvent, ControllerRemovedEvent, ControllerRemappedEvent, ControllerAxisMovedEvent, ControllerButtonPressedEvent, ControllerButtonReleasedEvent, TouchMovedEvent, TouchPressedEvent, TouchReleasedEvent, KeymapChangedEvent, ClipboardUpdatedEvent, DropFileEvent, DropTextEvent, DropStartedEvent, DropCompletedEvent > | |
using | index_type = std::conditional_t< sizeof...(Ts)< 255ull, std::uint8_t, std::conditional_t< sizeof...(Ts)< 65535ull, std::uint16_t, std::conditional_t< sizeof...(Ts)< 4294967295ull, std::uint32_t, std::uint64_t > >> |
Index type used to encode the active alternative type. More... | |
Public Member Functions inherited from donut::Variant< ApplicationQuitRequestedEvent, ApplicationTerminatingEvent, ApplicationLowMemoryEvent, ApplicationPausingEvent, ApplicationPausedEvent, ApplicationUnpausingEvent, ApplicationUnpausedEvent, WindowShownEvent, WindowHiddenEvent, WindowExposedEvent, WindowMovedEvent, WindowResizedEvent, WindowSizeChangedEvent, WindowMinimizedEvent, WindowMaximizedEvent, WindowRestoredEvent, WindowMouseFocusGainedEvent, WindowMouseFocusLostEvent, WindowKeyboardFocusGainedEvent, WindowKeyboardFocusLostEvent, WindowCloseRequestedEvent, WindowDisplayChangedEvent, KeyPressedEvent, KeyPressRepeatedEvent, KeyReleasedEvent, TextInputEditedEvent, TextInputSubmittedEvent, MouseMovedEvent, MouseButtonPressedEvent, MouseButtonReleasedEvent, MouseWheelScrolledEvent, ControllerAddedEvent, ControllerRemovedEvent, ControllerRemappedEvent, ControllerAxisMovedEvent, ControllerButtonPressedEvent, ControllerButtonReleasedEvent, TouchMovedEvent, TouchPressedEvent, TouchReleasedEvent, KeymapChangedEvent, ClipboardUpdatedEvent, DropFileEvent, DropTextEvent, DropStartedEvent, DropCompletedEvent > | |
constexpr | Variant () noexcept(std::is_nothrow_default_constructible_v< variant_alternative_t< 0, Variant >>) requires(HAS_DEFAULT_CONSTRUCTOR) |
Default-construct a variant with the first variant alternative, if it is default-constructible. More... | |
constexpr | Variant (U &&value) noexcept(std::is_nothrow_constructible_v< decltype(F(std::forward< U >(value)))>) requires(!std |
Converting constructor. More... | |
constexpr | Variant (std::in_place_type_t< T > type, Args &&... args) requires(variant_has_alternative_v< T |
Construct a variant alternative in-place given its type. More... | |
constexpr | Variant (std::in_place_type_t< T > type, std::initializer_list< U > ilist, Args &&... args) requires(variant_has_alternative_v< T |
Construct a variant alternative in-place given its type, with an initializer list as the first constructor argument. More... | |
constexpr | Variant (std::in_place_index_t< Index > index, Args &&... args) requires(Index< sizeof...(Ts) &&std |
Construct a variant alternative in-place given its index. More... | |
constexpr | Variant (std::in_place_index_t< Index > index, std::initializer_list< U > ilist, Args &&... args) requires(Index< sizeof...(Ts) &&std |
Construct a variant alternative in-place given its index, with an initializer list as the first constructor argument. More... | |
constexpr | Variant (const Variant &other) requires(!HAS_COPY_CONSTRUCTOR)=delete |
Deleted copy constructor. More... | |
constexpr | Variant (const Variant &other) requires(HAS_COPY_CONSTRUCTOR &&HAS_TRIVIAL_COPY_CONSTRUCTOR)=default |
Trivial copy constructor. More... | |
constexpr | Variant (const Variant &other) requires(HAS_COPY_CONSTRUCTOR &&!HAS_TRIVIAL_COPY_CONSTRUCTOR) |
Copy constructor. More... | |
constexpr | Variant (Variant &&other) noexcept requires(HAS_MOVE_CONSTRUCTOR &&HAS_TRIVIAL_MOVE_CONSTRUCTOR)=default |
Trivial move constructor. More... | |
constexpr | Variant (Variant &&other) noexcept((std::is_nothrow_move_constructible_v< Ts > &&...)) requires(HAS_MOVE_CONSTRUCTOR &&!HAS_TRIVIAL_MOVE_CONSTRUCTOR) |
Move constructor. More... | |
constexpr Variant | std::forward (args)...) |
constexpr Variant | std::forward (args)...) |
constexpr | ~Variant () |
Destructor. More... | |
constexpr | ~Variant () requires(HAS_TRIVIAL_DESTRUCTOR)=default |
Trivial destructor. More... | |
constexpr Variant & | operator= (const Variant &other) requires(!HAS_COPY_ASSIGNMENT)=delete |
Deleted copy assignment. More... | |
constexpr Variant & | operator= (const Variant &other) requires(HAS_COPY_ASSIGNMENT &&HAS_TRIVIAL_COPY_ASSIGNMENT)=default |
Trivial copy assignment. More... | |
constexpr Variant & | operator= (const Variant &other) requires(HAS_COPY_ASSIGNMENT &&!HAS_TRIVIAL_COPY_ASSIGNMENT) |
Copy assignment. More... | |
constexpr Variant & | operator= (Variant &&other) noexcept requires(HAS_MOVE_ASSIGNMENT &&HAS_TRIVIAL_MOVE_ASSIGNMENT)=default |
Trivial move assignment. More... | |
constexpr Variant & | operator= (Variant &&other) noexcept(((std::is_nothrow_move_constructible_v< Ts > &&//NOLINT(performance-noexcept-move-constructor, cppcoreguidelines-noexcept-move-operations) std::is_nothrow_move_assignable_v< Ts >)&&...)) requires(HAS_MOVE_ASSIGNMENT &&!HAS_TRIVIAL_MOVE_ASSIGNMENT) |
Move assignment. More... | |
constexpr Variant & | operator= (U &&value) noexcept(std::is_nothrow_assignable_v< decltype(F(std::forward< U >(value)))&, U > &&std::is_nothrow_constructible_v< decltype(F(std::forward< U >(value))), U >) requires(!std |
Converting assignment. More... | |
constexpr T & | emplace (Args &&... args) requires(variant_has_alternative_v< T |
Construct an alternative given its type, destroying the old value. More... | |
constexpr T & | emplace (std::initializer_list< U > ilist, Args &&... args) requires(variant_has_alternative_v< T |
Construct an alternative given its type, with an initializer list as the first constructor argument, destroying the old value. More... | |
constexpr variant_alternative_t< Index, Variant > & | emplace (Args &&... args) requires(std |
Construct an alternative given its index, destroying the old value. More... | |
constexpr variant_alternative_t< Index, Variant > & | emplace (std::initializer_list< U > ilist, Args &&... args) requires(std |
Construct an alternative given its index, with an initializer list as the first constructor argument, destroying the old value. More... | |
constexpr void | swap (Variant &other) noexcept(((std::is_nothrow_move_constructible_v< Ts > &&std::is_nothrow_swappable_v< Ts >)&&...)) |
Swap this variant's value with that of another. More... | |
constexpr index_type | index () const noexcept |
Get the alternative index of the currently active value held by the variant. More... | |
constexpr bool | valueless_by_exception () const noexcept |
Check if the variant is in the valueless by exception state. More... | |
constexpr bool | is () const noexcept requires(variant_has_alternative_v< T |
Check if the variant currently holds the alternative with the given type. More... | |
constexpr bool | is () const noexcept |
Check if the variant currently holds the alternative with the given index. More... | |
constexpr T & | as () &noexcept requires(variant_has_alternative_v< T |
Access the underlying value with the given type without a safety check. More... | |
return | as () |
constexpr const T & | as () const &noexcept requires(variant_has_alternative_v< T |
Access the underlying value with the given type without a safety check. More... | |
return | as () |
constexpr T && | as () &&noexcept requires(variant_has_alternative_v< T |
Access the underlying value with the given type without a safety check. More... | |
constexpr const T && | as () const &&noexcept requires(variant_has_alternative_v< T |
Access the underlying value with the given type without a safety check. More... | |
constexpr variant_alternative_t< Index, Variant > & | as () &noexcept |
Access the underlying value with the given index without a safety check. More... | |
constexpr const variant_alternative_t< Index, Variant > & | as () const &noexcept |
Access the underlying value with the given index without a safety check. More... | |
constexpr variant_alternative_t< Index, Variant > && | as () &&noexcept |
Access the underlying value with the given index without a safety check. More... | |
constexpr const variant_alternative_t< Index, Variant > && | as () const &&noexcept |
Access the underlying value with the given index without a safety check. More... | |
return | std::move (as< variant_index_v< T, Variant >>()) |
return | std::move (as< variant_index_v< T, Variant >>()) |
constexpr T & | get () &requires(variant_has_alternative_v< T |
Access the underlying value with the given type. More... | |
constexpr const T & | get () const &requires(variant_has_alternative_v< T |
Access the underlying value with the given type. More... | |
constexpr T && | get () &&requires(variant_has_alternative_v< T |
Access the underlying value with the given type. More... | |
constexpr const T && | get () const &&requires(variant_has_alternative_v< T |
Access the underlying value with the given type. More... | |
constexpr variant_alternative_t< Index, Variant > & | get () & |
Access the underlying value with the given index. More... | |
constexpr const variant_alternative_t< Index, Variant > & | get () const & |
Access the underlying value with the given index. More... | |
constexpr variant_alternative_t< Index, Variant > && | get () && |
Access the underlying value with the given index. More... | |
constexpr const variant_alternative_t< Index, Variant > && | get () const && |
Access the underlying value with the given index. More... | |
constexpr T * | get_if () noexcept requires(variant_has_alternative_v< T |
Access the underlying value with the given type if it is the currently active alternative. More... | |
constexpr const T * | get_if () const noexcept requires(variant_has_alternative_v< T |
Access the underlying value with the given type if it is the currently active alternative. More... | |
constexpr variant_alternative_t< Index, Variant > * | get_if () noexcept |
Access the underlying value with the given index if it is the currently active alternative. More... | |
constexpr const variant_alternative_t< Index, Variant > * | get_if () const noexcept |
Access the underlying value with the given index if it is the currently active alternative. More... | |
Static Public Member Functions inherited from donut::Variant< ApplicationQuitRequestedEvent, ApplicationTerminatingEvent, ApplicationLowMemoryEvent, ApplicationPausingEvent, ApplicationPausedEvent, ApplicationUnpausingEvent, ApplicationUnpausedEvent, WindowShownEvent, WindowHiddenEvent, WindowExposedEvent, WindowMovedEvent, WindowResizedEvent, WindowSizeChangedEvent, WindowMinimizedEvent, WindowMaximizedEvent, WindowRestoredEvent, WindowMouseFocusGainedEvent, WindowMouseFocusLostEvent, WindowKeyboardFocusGainedEvent, WindowKeyboardFocusLostEvent, WindowCloseRequestedEvent, WindowDisplayChangedEvent, KeyPressedEvent, KeyPressRepeatedEvent, KeyReleasedEvent, TextInputEditedEvent, TextInputSubmittedEvent, MouseMovedEvent, MouseButtonPressedEvent, MouseButtonReleasedEvent, MouseWheelScrolledEvent, ControllerAddedEvent, ControllerRemovedEvent, ControllerRemappedEvent, ControllerAxisMovedEvent, ControllerButtonPressedEvent, ControllerButtonReleasedEvent, TouchMovedEvent, TouchPressedEvent, TouchReleasedEvent, KeymapChangedEvent, ClipboardUpdatedEvent, DropFileEvent, DropTextEvent, DropStartedEvent, DropCompletedEvent > | |
static constexpr decltype(auto) | visit (Visitor &&visitor, V &&variant) |
Call a visitor functor with the currently active underlying value of a variant. More... | |
Public Attributes inherited from donut::Variant< ApplicationQuitRequestedEvent, ApplicationTerminatingEvent, ApplicationLowMemoryEvent, ApplicationPausingEvent, ApplicationPausedEvent, ApplicationUnpausingEvent, ApplicationUnpausedEvent, WindowShownEvent, WindowHiddenEvent, WindowExposedEvent, WindowMovedEvent, WindowResizedEvent, WindowSizeChangedEvent, WindowMinimizedEvent, WindowMaximizedEvent, WindowRestoredEvent, WindowMouseFocusGainedEvent, WindowMouseFocusLostEvent, WindowKeyboardFocusGainedEvent, WindowKeyboardFocusLostEvent, WindowCloseRequestedEvent, WindowDisplayChangedEvent, KeyPressedEvent, KeyPressRepeatedEvent, KeyReleasedEvent, TextInputEditedEvent, TextInputSubmittedEvent, MouseMovedEvent, MouseButtonPressedEvent, MouseButtonReleasedEvent, MouseWheelScrolledEvent, ControllerAddedEvent, ControllerRemovedEvent, ControllerRemappedEvent, ControllerAxisMovedEvent, ControllerButtonPressedEvent, ControllerButtonReleasedEvent, TouchMovedEvent, TouchPressedEvent, TouchReleasedEvent, KeymapChangedEvent, ClipboardUpdatedEvent, DropFileEvent, DropTextEvent, DropStartedEvent, DropCompletedEvent > | |
constexpr Variant | Variant |
constexpr bool | Variant |
constexpr T | Variant |
constexpr const T | Variant |
constexpr Variant | ilist |
Static Public Attributes inherited from donut::Variant< ApplicationQuitRequestedEvent, ApplicationTerminatingEvent, ApplicationLowMemoryEvent, ApplicationPausingEvent, ApplicationPausedEvent, ApplicationUnpausingEvent, ApplicationUnpausedEvent, WindowShownEvent, WindowHiddenEvent, WindowExposedEvent, WindowMovedEvent, WindowResizedEvent, WindowSizeChangedEvent, WindowMinimizedEvent, WindowMaximizedEvent, WindowRestoredEvent, WindowMouseFocusGainedEvent, WindowMouseFocusLostEvent, WindowKeyboardFocusGainedEvent, WindowKeyboardFocusLostEvent, WindowCloseRequestedEvent, WindowDisplayChangedEvent, KeyPressedEvent, KeyPressRepeatedEvent, KeyReleasedEvent, TextInputEditedEvent, TextInputSubmittedEvent, MouseMovedEvent, MouseButtonPressedEvent, MouseButtonReleasedEvent, MouseWheelScrolledEvent, ControllerAddedEvent, ControllerRemovedEvent, ControllerRemappedEvent, ControllerAxisMovedEvent, ControllerButtonPressedEvent, ControllerButtonReleasedEvent, TouchMovedEvent, TouchPressedEvent, TouchReleasedEvent, KeymapChangedEvent, ClipboardUpdatedEvent, DropFileEvent, DropTextEvent, DropStartedEvent, DropCompletedEvent > | |
static constexpr index_type | npos |
Invalid alternative index, representing the valueless by exception state. More... | |
Data structure containing information about an event.
Instances of this type are generated by an EventPump when certain events occur in the host environment, typically as a result of user input. These events can either be handled manually or be forwarded to subsystems such as an InputManager for processing.