MCPcopy Create free account
hub / github.com/apache/arrow / VisitTwoArrayValuesInline

Function VisitTwoArrayValuesInline

cpp/src/arrow/compute/kernels/codegen_internal.h:491–508  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

489
490template <typename Arg0Type, typename Arg1Type, typename VisitFunc, typename NullFunc>
491static void VisitTwoArrayValuesInline(const ArraySpan& arr0, const ArraySpan& arr1,
492 VisitFunc&& valid_func, NullFunc&& null_func) {
493 ArrayIterator<Arg0Type> arr0_it(arr0);
494 ArrayIterator<Arg1Type> arr1_it(arr1);
495
496 auto visit_valid = [&](int64_t i) {
497 valid_func(GetViewType<Arg0Type>::LogicalValue(arr0_it()),
498 GetViewType<Arg1Type>::LogicalValue(arr1_it()));
499 };
500 auto visit_null = [&]() {
501 arr0_it();
502 arr1_it();
503 null_func();
504 };
505 VisitTwoBitBlocksVoid(arr0.buffers[0].data, arr0.offset, arr1.buffers[0].data,
506 arr1.offset, arr0.length, std::move(visit_valid),
507 std::move(visit_null));
508}
509
510// ----------------------------------------------------------------------
511// Reusable type resolvers

Callers

nothing calls this directly

Calls 1

VisitTwoBitBlocksVoidFunction · 0.85

Tested by

no test coverage detected