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

Method AppendArraySliceImpl

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

Source from the content-addressed store, hash-verified

496 protected:
497 template <typename c_type>
498 Status AppendArraySliceImpl(const typename TypeTraits<T>::ArrayType& dict,
499 const ArraySpan& array, int64_t offset, int64_t length) {
500 const c_type* values = array.GetValues<c_type>(1) + offset;
501 return VisitBitBlocks(
502 array.buffers[0].data, array.offset + offset, length,
503 [&](const int64_t position) {
504 const int64_t index = static_cast<int64_t>(values[position]);
505 if (dict.IsValid(index)) {
506 return Append(dict.GetView(index));
507 }
508 return AppendNull();
509 },
510 [&]() { return AppendNull(); });
511 }
512
513 template <typename IndexType>
514 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