| 569 | |
| 570 | template <typename TypeClass> |
| 571 | Status CompareList(const TypeClass&) { |
| 572 | const ArrayData& left_data = *left_.child_data[0]; |
| 573 | const ArrayData& right_data = *right_.child_data[0]; |
| 574 | |
| 575 | const auto compare_ranges = [&](int64_t left_offset, int64_t right_offset, |
| 576 | int64_t length) -> bool { |
| 577 | RangeDataEqualsImpl impl(options_, left_data, right_data, left_offset, right_offset, |
| 578 | length); |
| 579 | return impl.Compare(); |
| 580 | }; |
| 581 | |
| 582 | CompareWithOffsets<typename TypeClass::offset_type>(1, compare_ranges); |
| 583 | return Status::OK(); |
| 584 | } |
| 585 | |
| 586 | template <typename TypeClass> |
| 587 | Status CompareListView(const TypeClass& type) { |