Struct flexbuffers::Builder[][src]

pub struct Builder { /* fields omitted */ }
Expand description

Use this struct to build a Flexbuffer.

Flexbuffers may only have a single root value, which may be constructed with one of the following functions.

  • build_singleton will push 1 value to the buffer and serialize it as the root.
  • start_vector returns a VectorBuilder, into which many (potentially heterogenous) values can be pushed. The vector itself is the root and is serialized when the VectorBuilder is dropped (or end is called).
  • start_map returns a MapBuilder, which is similar to a VectorBuilder except every value must be pushed with an associated key. The map is serialized when the MapBuilder is dropped (or end is called).

These functions reset and overwrite the Builder which means, while there are no active MapBuilder or VectorBuilder, the internal buffer is empty or contains a finished Flexbuffer. The internal buffer is accessed with view.

Implementations

impl<'a> Builder[src]

pub fn new(opts: BuilderOptions) -> Self[src]

pub fn view(&self) -> &[u8][src]

Shows the internal flexbuffer. It will either be empty or populated with the most recently built flexbuffer.

pub fn take_buffer(&mut self) -> Vec<u8>[src]

Returns the internal buffer, replacing it with a new vector. The returned buffer will either be empty or populated with the most recently built flexbuffer.

pub fn reset(&mut self)[src]

Resets the internal state. Automatically called before building a new flexbuffer.

pub fn start_vector(&'a mut self) -> VectorBuilder<'a>[src]

Resets the builder and starts a new flexbuffer with a vector at the root. The exact Flexbuffer vector type is dynamically inferred.

pub fn start_map(&'a mut self) -> MapBuilder<'a>[src]

Resets the builder and builds a new flexbuffer with a map at the root.

pub fn build_singleton<P: Pushable>(&mut self, p: P)[src]

Resets the builder and builds a new flexbuffer with the pushed value at the root.

Trait Implementations

impl Clone for Builder[src]

fn clone(&self) -> Builder[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Builder[src]

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

Formats the value using the given formatter. Read more

impl Default for Builder[src]

fn default() -> Self[src]

Returns the “default value” for a type. Read more

Auto Trait Implementations

impl RefUnwindSafe for Builder

impl Send for Builder

impl Sync for Builder

impl Unpin for Builder

impl UnwindSafe for Builder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.