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

Function GetNumBuffers

cpp/src/arrow/array/data.cc:353–378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

351}
352
353int GetNumBuffers(const DataType& type) {
354 switch (type.id()) {
355 case Type::NA:
356 case Type::STRUCT:
357 case Type::FIXED_SIZE_LIST:
358 case Type::RUN_END_ENCODED:
359 return 1;
360 case Type::BINARY:
361 case Type::LARGE_BINARY:
362 case Type::STRING:
363 case Type::LARGE_STRING:
364 case Type::STRING_VIEW:
365 case Type::BINARY_VIEW:
366 case Type::DENSE_UNION:
367 case Type::LIST_VIEW:
368 case Type::LARGE_LIST_VIEW:
369 return 3;
370 case Type::EXTENSION:
371 // The number of buffers depends on the storage type
372 return GetNumBuffers(
373 *internal::checked_cast<const ExtensionType&>(type).storage_type());
374 default:
375 // Everything else has 2 buffers
376 return 2;
377 }
378}
379
380} // namespace
381

Callers 2

FillZeroLengthArrayFunction · 0.85
num_buffersMethod · 0.85

Calls 2

storage_typeMethod · 0.80
idMethod · 0.45

Tested by

no test coverage detected