21 return m_index != other.m_index;
26 return m_value[m_index];
40template <
typename T,
size_t Size,
class Enable =
void>
43template <
typename T,
size_t Size>
44struct array<T, Size, enable_if_t<Size != 0> >
final {
47 array(
const T (&elems)[Size]) {
49 for (
auto it = this->begin(); it != this->end(); ++ it) {
54 T& operator[](
int index) {
55 return m_array[index];
58 T& operator[](
size_t index) {
59 return m_array[index];
78 template <
typename Func>
79 void each(
const Func& func) {
80 for (
auto& elem : *
this) {
89template<
typename T,
size_t Size>
95template <
typename T,
size_t Size>
96struct array<T, Size, enable_if_t<Size == 0>>
final {
98 array(
const T* (&elems)) { (void)elems; }
99 T operator[](
size_t index) { ecs_os_abort(); (void)index;
return T(); }
void each(Func &&func) const
Iterate over all entities with components in argument list of function.