pub trait Item: Sized + Copy {
const BUFFER_KIND: BufferKind;
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>;
fn as_nullable_slice(
variant: AnySlice<'_>
) -> Option<NullableSlice<'_, Self>>;
fn as_slice_mut(variant: AnySliceMut<'_>) -> Option<&mut [Self]>;
fn as_nullable_slice_mut(
variant: AnySliceMut<'_>
) -> Option<NullableSliceMut<'_, Self>>;
}
Expand description
Can either be extracted as a slice or a NullableSlice
from an AnySlice
. This allows
the user to avoid matching on all possibile variants of an AnySlice
in case the
buffered type is known at compile time.
Required Associated Constants
sourceconst BUFFER_KIND: BufferKind
const BUFFER_KIND: BufferKind
E.g. BufferKind::I64
for i64
. The kind can be used in a buffer description to
instantiate a super::ColumnarBuffer
.
Required Methods
sourcefn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
Extract the typed nullable buffer from an AnySlice
.
sourcefn as_slice_mut(variant: AnySliceMut<'_>) -> Option<&mut [Self]>
fn as_slice_mut(variant: AnySliceMut<'_>) -> Option<&mut [Self]>
Extract the array type from an AnySliceMut
.
sourcefn as_nullable_slice_mut(
variant: AnySliceMut<'_>
) -> Option<NullableSliceMut<'_, Self>>
fn as_nullable_slice_mut(
variant: AnySliceMut<'_>
) -> Option<NullableSliceMut<'_, Self>>
Extract the typed nullable buffer from an AnySliceMut
.