INNER CODE UNIT · Rust
$push_name
Tencent/TNN · third_party/flatbuffers/rust/flexbuffers/src/builder/mod.rs:32
fn $push_name<T, S>(&mut self, xs: S)
where
T: Into<$scalar> + Copy,
S: AsRef<[T]>
{
let mut value = Value::$new_vec(xs.as_ref().len());
let mut width = xs.as_ref()
.iter()
.map(|x| BitWidth::from((*x).into()))
.max()
.unwrap_or_default();
if !value.is_fixed_length_vector() {
let length = Value::UInt(xs.as_ref().len() as u64);
width = std::cmp::max(width, length.width_or_child_width());
align(&mut self.buffer, width);
store_value(&mut self.buffer, length, width);
} else {
align(&mut self.buffer, width);