33 template<
class T, std::
size_t Capacity>
requires(std::is_trivial<T>::value && std::is_copy_constructible_v<T>)
37 static_assert(std::is_object_v<T>,
"The C++ Standard forbids containers of non-object types "
38 "because of [container.requirements].");
148 mStorage[mSize++] =
value;
151 template <
class...
Args>
155 mStorage[mSize] = T{ std::forward<Args>(
args)... };
156 return mStorage[mSize++];
#define JPL_ASSERT(inExpression,...)
Main assert macro, usage: JPL_ASSERT(condition, message) or JPL_ASSERT(condition)
Definition ErrorReporting.h:76
Definition StaticArray.h:35
std::remove_cvref_t< T > value_type
Definition StaticArray.h:41
constexpr JPL_INLINE pointer data() noexcept
Definition StaticArray.h:100
constexpr JPL_INLINE bool pop_back(T &outValue) noexcept
Definition StaticArray.h:159
constexpr JPL_INLINE void resize(std::size_t newSize, const T &valueToInsert) noexcept
Definition StaticArray.h:122
constexpr JPL_INLINE const_iterator cend() const noexcept
Definition StaticArray.h:89
T * pointer
Definition StaticArray.h:44
constexpr JPL_INLINE const_iterator end() const noexcept
Definition StaticArray.h:86
constexpr JPL_INLINE bool pop_back() noexcept
Definition StaticArray.h:172
constexpr StaticArray() noexcept=default
std::reverse_iterator< iterator > reverse_iterator
Definition StaticArray.h:51
constexpr JPL_INLINE const_pointer data() const noexcept
Definition StaticArray.h:101
T & reference
Definition StaticArray.h:46
constexpr JPL_INLINE reference front() noexcept
Definition StaticArray.h:94
constexpr JPL_INLINE iterator end() noexcept
Definition StaticArray.h:83
constexpr JPL_INLINE const_reference operator[](const size_type offset) const noexcept
Definition StaticArray.h:110
constexpr JPL_INLINE void assign(std::size_t count, const T &value) noexcept
Definition StaticArray.h:133
const T * const_pointer
Definition StaticArray.h:45
constexpr JPL_INLINE bool empty() const
Definition StaticArray.h:79
constexpr JPL_INLINE reference operator[](const size_type offset) noexcept
Definition StaticArray.h:104
constexpr JPL_INLINE iterator begin() noexcept
Definition StaticArray.h:82
constexpr JPL_INLINE reverse_iterator rend() const noexcept
Definition StaticArray.h:92
constexpr JPL_INLINE StaticArray(std::size_t size, T defaultValue) noexcept
Definition StaticArray.h:68
constexpr JPL_INLINE reference back() noexcept
Definition StaticArray.h:95
constexpr JPL_INLINE const_iterator cbegin() const noexcept
Definition StaticArray.h:88
constexpr JPL_INLINE void push_back(const T &value)
Definition StaticArray.h:145
ptrdiff_t difference_type
Definition StaticArray.h:43
constexpr JPL_INLINE const_reference front() const noexcept
Definition StaticArray.h:97
constexpr JPL_INLINE const_reference back() const noexcept
Definition StaticArray.h:98
const_pointer const_iterator
Definition StaticArray.h:50
constexpr JPL_INLINE const_iterator begin() const noexcept
Definition StaticArray.h:85
T element_type
Definition StaticArray.h:40
pointer iterator
Definition StaticArray.h:49
constexpr JPL_INLINE reverse_iterator rbegin() const noexcept
Definition StaticArray.h:91
constexpr JPL_INLINE size_type size_bytes() const
Definition StaticArray.h:78
constexpr JPL_INLINE reference emplace_back(Args &&... args)
Definition StaticArray.h:152
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition StaticArray.h:52
constexpr JPL_INLINE void clear() noexcept
Definition StaticArray.h:140
constexpr JPL_INLINE size_type size() const
Definition StaticArray.h:77
std::size_t size_type
Definition StaticArray.h:42
const T & const_reference
Definition StaticArray.h:47
constexpr JPL_INLINE void resize(std::size_t newSize) noexcept
Definition StaticArray.h:116
Definition AcousticMaterial.h:36
JPL_INLINE simd min(const simd &a, const simd &b) noexcept
Element-wise min.
Definition SIMD.h:1813
Definition ChannelMap.h:268