INNER CODE UNIT · Rust
store_root
Tencent/TNN · third_party/flatbuffers/rust/flexbuffers/src/builder/mod.rs:320
fn store_root(buffer: &mut Vec<u8>, root: Value) {
let root_width = root.width_in_vector(buffer.len(), 0);
align(buffer, root_width);
store_value(buffer, root, root_width);
buffer.push(root.packed_type(root_width));
buffer.push(root_width.n_bytes() as u8);
}
pub enum StoreOption {
Vector,
Map(Value),
MapKeys,
}
/// Writes a Flexbuffer Vector or Map.
/// StoreOption::Map(Keys) must be a Value::Key or this will panic.
// #[inline(always)]
pub fn store_vector(buffer: &mut Vec<u8>, values: &[Value], opt: StoreOption) -> Value {
let (skip, stride) = match opt {