8 template <std::u
int32_t SIZE>
34 _values[_index++] = a_val;
42 static_assert(
sizeof(FxResponseArgs<1>) == 0x40);
44 template <std::
size_t N>
48 static constexpr std::size_t O = 1;
51 using container_type = std::array<GFxValue, N + O>;
53 static_assert(N + O <= static_cast<std::size_t>((std::numeric_limits<std::uint32_t>::max)()));
57 using size_type =
typename container_type::size_type;
59 using reference =
typename container_type::reference;
61 using pointer =
typename container_type::pointer;
63 using iterator =
typename container_type::iterator;
80 for (std::size_t i = 0; i < N; ++i) {
81 _args[i + O] = a_args[i];
89 for (std::size_t i = 0; i < N; ++i) {
90 _args[i + O] = std::move(a_args[i]);
111 [[nodiscard]]
constexpr pointer data() noexcept {
return _args.data(); }
114 [[nodiscard]]
constexpr iterator begin() noexcept {
return ++_args.begin(); }
118 [[nodiscard]]
constexpr iterator end() noexcept {
return _args.end(); }
130 [[nodiscard]]
constexpr bool empty() const noexcept {
return begin() ==
end(); }
132 [[nodiscard]]
constexpr size_type size() const noexcept {
return _args.size() - O; }
139 *a_params = _args.data();
140 return static_cast<std::uint32_t
>(_args.size());
144 container_type _args;
147 template <std::
size_t N>
150 template <std::
size_t N>
Definition FxResponseArgsBase.h:8
FxResponseArgsBase()=default
Definition FxResponseArgs.h:46
FxResponseArgsEx(const FxResponseArgsEx &)=default
FxResponseArgsEx(const std::array< GFxValue, N > &a_args)
Definition FxResponseArgs.h:76
constexpr iterator begin() noexcept
Definition FxResponseArgs.h:114
constexpr const_iterator cbegin() const noexcept
Definition FxResponseArgs.h:116
constexpr const_reverse_iterator rbegin() const noexcept
Definition FxResponseArgs.h:123
constexpr const_reference at(size_type a_pos) const
Definition FxResponseArgs.h:100
constexpr size_type max_size() const noexcept
Definition FxResponseArgs.h:134
FxResponseArgsEx()
Definition FxResponseArgs.h:68
typename container_type::const_reverse_iterator const_reverse_iterator
Definition FxResponseArgs.h:66
constexpr reference front()
Definition FxResponseArgs.h:105
typename container_type::reverse_iterator reverse_iterator
Definition FxResponseArgs.h:65
~FxResponseArgsEx() override=default
constexpr const_iterator begin() const noexcept
Definition FxResponseArgs.h:115
constexpr const_reverse_iterator crbegin() const noexcept
Definition FxResponseArgs.h:124
constexpr reference at(size_type a_pos)
Definition FxResponseArgs.h:99
FxResponseArgsEx(std::array< GFxValue, N > &&a_args)
Definition FxResponseArgs.h:85
typename container_type::value_type value_type
Definition FxResponseArgs.h:56
typename container_type::size_type size_type
Definition FxResponseArgs.h:57
FxResponseArgsEx & operator=(const FxResponseArgsEx &)=default
constexpr pointer data() noexcept
Definition FxResponseArgs.h:111
typename container_type::iterator iterator
Definition FxResponseArgs.h:63
constexpr reference operator[](size_type a_pos)
Definition FxResponseArgs.h:102
typename container_type::const_reference const_reference
Definition FxResponseArgs.h:60
constexpr size_type size() const noexcept
Definition FxResponseArgs.h:132
constexpr const_reference back() const
Definition FxResponseArgs.h:109
std::uint32_t GetValues(GFxValue **a_params) override
Definition FxResponseArgs.h:137
constexpr iterator end() noexcept
Definition FxResponseArgs.h:118
typename container_type::difference_type difference_type
Definition FxResponseArgs.h:58
constexpr const_pointer data() const noexcept
Definition FxResponseArgs.h:112
FxResponseArgsEx(FxResponseArgsEx &&)=default
constexpr reference back()
Definition FxResponseArgs.h:108
typename container_type::const_iterator const_iterator
Definition FxResponseArgs.h:64
FxResponseArgsEx & operator=(FxResponseArgsEx &&)=default
constexpr bool empty() const noexcept
Definition FxResponseArgs.h:130
typename container_type::reference reference
Definition FxResponseArgs.h:59
constexpr const_reference front() const
Definition FxResponseArgs.h:106
constexpr const_iterator cend() const noexcept
Definition FxResponseArgs.h:120
constexpr const_reference operator[](size_type a_pos) const
Definition FxResponseArgs.h:103
constexpr const_reverse_iterator crend() const noexcept
Definition FxResponseArgs.h:128
constexpr const_iterator end() const noexcept
Definition FxResponseArgs.h:119
constexpr const_reverse_iterator rend() const noexcept
Definition FxResponseArgs.h:127
typename container_type::const_pointer const_pointer
Definition FxResponseArgs.h:62
constexpr reverse_iterator rend() noexcept
Definition FxResponseArgs.h:126
constexpr reverse_iterator rbegin() noexcept
Definition FxResponseArgs.h:122
typename container_type::pointer pointer
Definition FxResponseArgs.h:61
Definition FxResponseArgs.h:10
std::uint32_t GetValues(GFxValue **a_params) override
Definition FxResponseArgs.h:22
~FxResponseArgs() override=default
void Add(const GFxValue &a_val)
Definition FxResponseArgs.h:28
FxResponseArgs()
Definition FxResponseArgs.h:12
Definition AbsorbEffect.h:6