| 692 | } |
| 693 | |
| 694 | inline iterator begin() const |
| 695 | { |
| 696 | check_null(); |
| 697 | auto h = holder(); |
| 698 | if (h->shape().empty()) { |
| 699 | throw invalid_operation("Can't iterate over scalar array."); |
| 700 | } |
| 701 | try { |
| 702 | return h->begin(); |
| 703 | } catch (const invalid_operation&) { |
| 704 | return icm::index_based_iterator<array, array, icm::use_container_index_tag, int64_t>(*this, 0L); |
| 705 | } |
| 706 | ASSERT(false); |
| 707 | return iterator{static_cast<array*>(nullptr)}; |
| 708 | } |
| 709 | |
| 710 | inline iterator end() const |
| 711 | { |
no test coverage detected