MCPcopy Create free account
hub / github.com/apache/arrow-rs / get_offsets_from_buffer

Function get_offsets_from_buffer

arrow-array/src/array/mod.rs:1030–1043  ·  view source on GitHub ↗

Helper function that creates an [`OffsetBuffer`] from a buffer and array offset/ length # Safety - buffer must contain valid arrow offsets ( [`OffsetBuffer`] ) for the given length and offset.

(
    buffer: Buffer,
    offset: usize,
    len: usize,
)

Source from the content-addressed store, hash-verified

1028/// - buffer must contain valid arrow offsets ( [`OffsetBuffer`] ) for the
1029/// given length and offset.
1030unsafe fn get_offsets_from_buffer<O: ArrowNativeType>(
1031 buffer: Buffer,
1032 offset: usize,
1033 len: usize,
1034) -> OffsetBuffer<O> {
1035 if len == 0 && buffer.is_empty() {
1036 return OffsetBuffer::new_empty();
1037 }
1038
1039 let scalar_buffer = ScalarBuffer::new(buffer, offset, len + 1);
1040 // Safety:
1041 // Arguments were valid
1042 unsafe { OffsetBuffer::new_unchecked(scalar_buffer) }
1043}
1044
1045/// Helper function for printing potentially long arrays.
1046fn print_long_array<A, F>(array: &A, f: &mut std::fmt::Formatter, print_item: F) -> std::fmt::Result

Callers 3

fromMethod · 0.85

Calls 1

is_emptyMethod · 0.45

Tested by

no test coverage detected