INNER CODE UNIT · Rust
take_buffer
Tencent/TNN · third_party/flatbuffers/rust/flexbuffers/src/builder/mod.rs:157
pub fn take_buffer(&mut self) -> Vec<u8> {
let mut b = Vec::new();
std::mem::swap(&mut self.buffer, &mut b);
b
}
/// Resets the internal state. Automatically called before building a new flexbuffer.
pub fn reset(&mut self) {
self.buffer.clear();
self.values.clear();
if let Some(pool) = self.key_pool.as_mut() {
pool.clear();
}
}
fn push_key(&mut self, key: &str) {
debug_assert!(
key.bytes().all(|b| b != b'\0'),
"Keys must not have internal nulls."
);