libdonut  2.3.2
Application framework for cross-platform game development in C++20
List of all members
donut::events::Event Struct Reference

Data structure containing information about an event. More...

#include <donut/events/Event.hpp>

Inheritance diagram for donut::events::Event:
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 >

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 Variantoperator= (const Variant &other) requires(!HAS_COPY_ASSIGNMENT)=delete
 Deleted copy assignment. More...
 
constexpr Variantoperator= (const Variant &other) requires(HAS_COPY_ASSIGNMENT &&HAS_TRIVIAL_COPY_ASSIGNMENT)=default
 Trivial copy assignment. More...
 
constexpr Variantoperator= (const Variant &other) requires(HAS_COPY_ASSIGNMENT &&!HAS_TRIVIAL_COPY_ASSIGNMENT)
 Copy assignment. More...
 
constexpr Variantoperator= (Variant &&other) noexcept requires(HAS_MOVE_ASSIGNMENT &&HAS_TRIVIAL_MOVE_ASSIGNMENT)=default
 Trivial move assignment. More...
 
constexpr Variantoperator= (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 Variantoperator= (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...
 

Detailed Description

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.

Examples
example_game.cpp, and example_rectangle.cpp.

The documentation for this struct was generated from the following file: