| 546 | } |
| 547 | |
| 548 | void node::erase(size_t index) |
| 549 | { |
| 550 | if (is<array>()) |
| 551 | { |
| 552 | auto& vector = std::get<array>(m_data); |
| 553 | if (index < vector.size()) |
| 554 | { |
| 555 | vector.erase(vector.cbegin() + index); |
| 556 | } |
| 557 | else |
| 558 | { |
| 559 | throw exceptions::array_index_overflow( |
| 560 | index, vector.size(), VILI_EXC_INFO); |
| 561 | } |
| 562 | } |
| 563 | else |
| 564 | { |
| 565 | throw exceptions::invalid_cast(array_type, to_string(type()), VILI_EXC_INFO); |
| 566 | } |
| 567 | } |
| 568 | |
| 569 | void node::erase(size_t begin, size_t end) |
| 570 | { |
no test coverage detected