| 158 | iterator begin() const noexcept { return ((SparseArray*)this)->_begin(); } |
| 159 | iterator end() const noexcept { return {(SparseArray*)this, _capacity}; } |
| 160 | bool iterator_valid(iterator it) const noexcept { |
| 161 | return it._a == this && it._i <= capacity(); |
| 162 | } |
| 163 | |
| 164 | const T& operator[](size_t i) const { |
| 165 | return *get(i); |