pub trait Item: Sized + Copy {
const BUFFER_KIND: BufferKind;
fn buffer_desc(nullable: bool) -> BufferDesc;
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
👎Deprecated: Use associated method buffer_desc instead.
E.g. BufferKind::I64 for i64. The kind can be used in a buffer description to
instantiate a super::ColumnarBuffer.
Required Methods§
sourcefn buffer_desc(nullable: bool) -> BufferDesc
fn buffer_desc(nullable: bool) -> BufferDesc
Can be used to instantiate a super::ColumnarBuffer.
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.
Implementations on Foreign Types§
source§impl Item for f64
impl Item for f64
source§const BUFFER_KIND: BufferKind = BufferKind::F64
const BUFFER_KIND: BufferKind = BufferKind::F64
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for f32
impl Item for f32
source§const BUFFER_KIND: BufferKind = BufferKind::F32
const BUFFER_KIND: BufferKind = BufferKind::F32
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for u8
impl Item for u8
source§const BUFFER_KIND: BufferKind = BufferKind::U8
const BUFFER_KIND: BufferKind = BufferKind::U8
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for i8
impl Item for i8
source§const BUFFER_KIND: BufferKind = BufferKind::I8
const BUFFER_KIND: BufferKind = BufferKind::I8
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for i16
impl Item for i16
source§const BUFFER_KIND: BufferKind = BufferKind::I16
const BUFFER_KIND: BufferKind = BufferKind::I16
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for i32
impl Item for i32
source§const BUFFER_KIND: BufferKind = BufferKind::I32
const BUFFER_KIND: BufferKind = BufferKind::I32
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for i64
impl Item for i64
source§const BUFFER_KIND: BufferKind = BufferKind::I64
const BUFFER_KIND: BufferKind = BufferKind::I64
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for Date
impl Item for Date
source§const BUFFER_KIND: BufferKind = BufferKind::Date
const BUFFER_KIND: BufferKind = BufferKind::Date
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for Time
impl Item for Time
source§const BUFFER_KIND: BufferKind = BufferKind::Time
const BUFFER_KIND: BufferKind = BufferKind::Time
👎Deprecated: Use associated method buffer_desc instead.
fn buffer_desc(nullable: bool) -> BufferDesc
fn as_slice(variant: AnySlice<'_>) -> Option<&[Self]>
fn as_nullable_slice(variant: AnySlice<'_>) -> Option<NullableSlice<'_, Self>>
fn as_slice_mut<'a>(variant: AnySliceMut<'a>) -> Option<&'a mut [Self]>
fn as_nullable_slice_mut<'a>(
variant: AnySliceMut<'a>
) -> Option<NullableSliceMut<'a, Self>>
source§impl Item for Timestamp
impl Item for Timestamp
source§const BUFFER_KIND: BufferKind = BufferKind::Timestamp
const BUFFER_KIND: BufferKind = BufferKind::Timestamp
👎Deprecated: Use associated method buffer_desc instead.