Skip to main content

SlotBuffer

Struct SlotBuffer 

Source
pub struct SlotBuffer { /* private fields */ }
Expand description

A scratch buffer of count CodeValue slots, zero-initialized (so each slot starts in the same safe state CodeValue::zeroed documents). Build each element in place with SlotBuffer::slot_mut, then hand the buffer to [array] or object — matching runtime.c’s “elements are retained and copied out of this buffer, never adopted by reference” contract, after which every slot you wrote must still be released (the copy took its own reference; yours is still live until you drop it).

Implementations§

Source§

impl SlotBuffer

Source

pub fn new(count: usize) -> Self

Source

pub fn slot_mut(&mut self, index: i64) -> &mut CodeValue

Slot index — write a value into it with number/owned_str/etc.

Source

pub fn release_all(&mut self)

Release every slot. Call after handing the buffer to [array] or object — they copy elements out, they don’t take ownership of this buffer’s own references.

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

Source§

type Error = !

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.