Skip to main content

ArrowBytesViewMap

Struct ArrowBytesViewMap 

Source
pub struct ArrowBytesViewMap<V>
where V: Debug + PartialEq + Eq + Clone + Copy + Default,
{ /* private fields */ }

Implementations§

Source§

impl<V> ArrowBytesViewMap<V>
where V: Debug + PartialEq + Eq + Clone + Copy + Default,

Source

pub fn new(output_type: OutputType) -> Self

Source

pub fn take(&mut self) -> Self

Return the contents of this map and replace it with a new empty map with the same output type

Source

pub fn insert_if_new<MP, OP>( &mut self, values: &ArrayRef, make_payload_fn: MP, observe_payload_fn: OP, )
where MP: FnMut(Option<&[u8]>) -> V, OP: FnMut(V),

Inserts each value from values into the map, invoking payload_fn for each value if not already present, deferring the allocation of the payload until it is needed.

Note that this is different than a normal map that would replace the existing entry

§Arguments:

values: array whose values are inserted

make_payload_fn: invoked for each value that is not already present to create the payload, in order of the values in values

observe_payload_fn: invoked once, for each value in values, that was already present in the map, with corresponding payload value.

§Returns

The payload value for the entry, either the existing value or the newly inserted value

§Safety:

Note that make_payload_fn and observe_payload_fn are only invoked with valid values from values, not for the NULL value.

Source

pub fn into_state(self) -> ArrayRef

Converts this set into a StringViewArray, or BinaryViewArray, containing each distinct value that was inserted. This is done without copying the values.

The values are guaranteed to be returned in the same order in which they were first seen.

Source

pub fn len(&self) -> usize

Total number of entries (including null, if present)

Source

pub fn is_empty(&self) -> bool

Is the set empty?

Source

pub fn non_null_len(&self) -> usize

Number of non null entries

Source

pub fn size(&self) -> usize

Return the total size, in bytes, of memory used to store the data in this set, not including self

Trait Implementations§

Source§

impl<V> Debug for ArrowBytesViewMap<V>
where V: Debug + PartialEq + Eq + Clone + Copy + Default,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<V> Freeze for ArrowBytesViewMap<V>
where V: Freeze,

§

impl<V> RefUnwindSafe for ArrowBytesViewMap<V>
where V: RefUnwindSafe,

§

impl<V> Send for ArrowBytesViewMap<V>
where V: Send,

§

impl<V> Sync for ArrowBytesViewMap<V>
where V: Sync,

§

impl<V> Unpin for ArrowBytesViewMap<V>
where V: Unpin,

§

impl<V> UnsafeUnpin for ArrowBytesViewMap<V>
where V: UnsafeUnpin,

§

impl<V> UnwindSafe for ArrowBytesViewMap<V>
where V: UnwindSafe,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

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

Source§

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>,

Source§

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,