pub enum FieldKind {
Inline {
size: usize,
align: usize,
},
PointerIndirect {
tail_alignment: usize,
},
}Expand description
How a field is stored relative to the buffer record.
Phase 2.b only emitted Inline slots (the v1 scalar leaves). Phase
2.c adds PointerIndirect for String / List<Int>: the fixed
area holds a u32 pointer to a [len: u32 LE][payload...] record
appended in the tail area by crate::buffer::BufferBuilder.
Variants§
Inline
Value is stored directly in the fixed area. size/align on
the enclosing FieldOffset describe the slot. All v1 scalar
leaves use this shape.
Fields
PointerIndirect
Fixed area holds a 4-byte (aligned to 4) u32 pointer to a
tail-area record. The tail record’s leading [len: u32 LE]
covers byte / element count; element alignment is encoded on
the variant so crate::buffer::BufferBuilder can pad the
tail-area cursor before appending the payload.
Trait Implementations§
impl Copy for FieldKind
impl Eq for FieldKind
impl StructuralPartialEq for FieldKind
Auto Trait Implementations§
impl Freeze for FieldKind
impl RefUnwindSafe for FieldKind
impl Send for FieldKind
impl Sync for FieldKind
impl Unpin for FieldKind
impl UnsafeUnpin for FieldKind
impl UnwindSafe for FieldKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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