| 542 | |
| 543 | template <typename TypeClass> |
| 544 | Status CompareList(const TypeClass&) { |
| 545 | const ArrayData& left_data = *left_.child_data[0]; |
| 546 | const ArrayData& right_data = *right_.child_data[0]; |
| 547 | |
| 548 | const auto compare_ranges = [&](int64_t left_offset, int64_t right_offset, |
| 549 | int64_t length) -> bool { |
| 550 | RangeDataEqualsImpl impl(options_, floating_approximate_, left_data, right_data, |
| 551 | left_offset, right_offset, length); |
| 552 | return impl.Compare(); |
| 553 | }; |
| 554 | |
| 555 | CompareWithOffsets<typename TypeClass::offset_type>(1, compare_ranges); |
| 556 | return Status::OK(); |
| 557 | } |
| 558 | |
| 559 | template <typename TypeClass> |
| 560 | Status CompareListView(const TypeClass& type) { |