Struct arrow_data::DataTypeLayout

source ·
pub struct DataTypeLayout {
    pub buffers: Vec<BufferSpec>,
    pub can_contain_null_mask: bool,
    pub variadic: bool,
}
Expand description

Layout specification for a data type

Fields§

§buffers: Vec<BufferSpec>

A vector of buffer layout specifications, one for each expected buffer

§can_contain_null_mask: bool

Can contain a null bitmask

§variadic: bool

This field only applies to the view type DataType::BinaryView and DataType::Utf8View If variadic is true, the number of buffers expected is only lower-bounded by buffers.len(). Buffers that exceed the lower bound are legal.

Implementations§

source§

impl DataTypeLayout

source

pub fn new_fixed_width<T>() -> Self

Describes a basic numeric array where each element has type T

source

pub fn new_nullable_empty() -> Self

Describes arrays which have no data of their own but may still have a Null Bitmap (e.g. FixedSizeList)

source

pub fn new_empty() -> Self

Describes arrays which have no data of their own (e.g. RunEndEncoded).

source

pub fn new_binary<T>() -> Self

Describes a basic numeric array where each element has a fixed with offset buffer of type T, followed by a variable width data buffer

source

pub fn new_view() -> Self

Describes a view type

source

pub fn new_list_view<T>() -> Self

Describes a list view type

Trait Implementations§

source§

impl Debug for DataTypeLayout

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for DataTypeLayout

source§

fn eq(&self, other: &DataTypeLayout) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for DataTypeLayout

source§

impl StructuralPartialEq for DataTypeLayout

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,