Trait flatbuffers::Push

source ·
pub trait Push: Sized {
    type Output;

    // Required method
    unsafe fn push(&self, dst: &mut [u8], written_len: usize);

    // Provided methods
    fn size() -> usize { ... }
    fn alignment() -> PushAlignment { ... }
}
Expand description

Trait to abstract over functionality needed to write values (either owned or referenced). Used in FlatBufferBuilder and implemented for generated types.

Required Associated Types§

Required Methods§

source

unsafe fn push(&self, dst: &mut [u8], written_len: usize)

§Safety

dst is aligned to Self::alignment and has length greater than or equal to Self::size

Provided Methods§

source

fn size() -> usize

source

fn alignment() -> PushAlignment

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Push for bool

§

type Output = bool

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for f32

§

type Output = f32

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for f64

§

type Output = f64

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for i8

§

type Output = i8

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for i16

§

type Output = i16

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for i32

§

type Output = i32

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for i64

§

type Output = i64

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for u8

§

type Output = u8

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for u16

§

type Output = u16

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for u32

§

type Output = u32

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl Push for u64

§

type Output = u64

source§

unsafe fn push(&self, dst: &mut [u8], _written_len: usize)

source§

impl<'a, T: Push> Push for &'a T

§

type Output = <T as Push>::Output

source§

unsafe fn push(&self, dst: &mut [u8], written_len: usize)

source§

fn size() -> usize

source§

fn alignment() -> PushAlignment

Implementors§