[−][src]Struct flexbuffers::Builder
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 aVectorBuilder
, into which many (potentially heterogenous) values can be pushed. The vector itself is the root and is serialized when theVectorBuilder
is dropped (orend
is called).start_map
returns aMapBuilder
, which is similar to aVectorBuilder
except every value must be pushed with an associated key. The map is serialized when theMapBuilder
is dropped (orend
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
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,