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

Method AppendArraySliceImpl

cpp/src/arrow/array/builder_dict.h:506–519  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

504 protected:
505 template <typename c_type>
506 Status AppendArraySliceImpl(const typename TypeTraits<T>::ArrayType& dict,
507 const ArraySpan& array, int64_t offset, int64_t length) {
508 const c_type* values = array.GetValues<c_type>(1) + offset;
509 return VisitBitBlocks(
510 array.buffers[0].data, array.offset + offset, length,
511 [&](const int64_t position) {
512 const int64_t index = static_cast<int64_t>(values[position]);
513 if (dict.IsValid(index)) {
514 return Append(dict.GetView(index));
515 }
516 return AppendNull();
517 },
518 [&]() { return AppendNull(); });
519 }
520
521 template <typename IndexType>
522 Status AppendScalarImpl(const typename TypeTraits<T>::ArrayType& dict,

Callers

nothing calls this directly

Calls 5

VisitBitBlocksFunction · 0.85
AppendFunction · 0.70
AppendNullFunction · 0.70
IsValidMethod · 0.45
GetViewMethod · 0.45

Tested by

no test coverage detected