libnick 2025.9.1
A cross-platform base for native Nickvision applications.
Loading...
Searching...
No Matches
parameventargs.h
Go to the documentation of this file.
1
22
23#ifndef PARAMEVENTARGS_H
24#define PARAMEVENTARGS_H
25
26#include <type_traits>
27#include "eventargs.h"
28
29namespace Nickvision::Events
30{
35 template<typename T>
37 {
38 static_assert(std::is_copy_constructible_v<T> == true);
39 static_assert(std::is_move_constructible_v<T> == true);
40
41 public:
46 ParamEventArgs(const T& param) noexcept
47 : m_param{ param }
48 {
49
50 }
51 ParamEventArgs(const ParamEventArgs&) noexcept = default;
52 ParamEventArgs(ParamEventArgs&&) noexcept = default;
57 const T& getParam() const noexcept
58 {
59 return m_param;
60 }
61
65 const T* operator->() const noexcept
66 {
67 return &m_param;
68 }
69
73 T* operator->() noexcept
74 {
75 return &m_param;
76 }
77
81 const T& operator*() const noexcept
82 {
83 return m_param;
84 }
85
89 T& operator*() noexcept
90 {
91 return m_param;
92 }
93 ParamEventArgs& operator=(const ParamEventArgs&) noexcept = default;
94 ParamEventArgs& operator=(ParamEventArgs&&) noexcept = default;
95
96 private:
97 T m_param;
98 };
99}
100
101#endif //PARAMEVENTARGS_H
EventArgs() noexcept=default
Constructs an EventArgs.
ParamEventArgs(const T &param) noexcept
Constructs a ParamEventArgs.
Definition parameventargs.h:46
T * operator->() noexcept
Gets the param stored in the event args.
Definition parameventargs.h:73
const T & operator*() const noexcept
Gets the param stored in the event args.
Definition parameventargs.h:81
ParamEventArgs & operator=(ParamEventArgs &&) noexcept=default
ParamEventArgs(ParamEventArgs &&) noexcept=default
ParamEventArgs(const ParamEventArgs &) noexcept=default
const T & getParam() const noexcept
Gets the param stored in the event args.
Definition parameventargs.h:57
const T * operator->() const noexcept
Gets the param stored in the event args.
Definition parameventargs.h:65
ParamEventArgs & operator=(const ParamEventArgs &) noexcept=default
T & operator*() noexcept
Gets the param stored in the event args.
Definition parameventargs.h:89
Definition event.h:33