[][src]Struct flexbuffers::Builder

pub struct Builder { /* fields omitted */ }

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]

impl Debug for Builder[src]

impl Default for Builder[src]

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]

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.