// This file is part of ICU4X. For terms of use, please see the file
// called LICENSE at the top level of the ICU4X source tree
// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
/// Intermediate metadata for a branch node under construction.
#[derive(Debug, Clone, Copy)]
pub(crate) struct BranchMeta {
/// The lead byte for this branch. Formerly it was required to be an ASCII byte, but now
/// it can be any byte.
pub ascii: u8,
/// The size in bytes of the trie data reachable from this branch.
pub local_length: usize,
/// The size in bytes of this and all later sibling branches.
pub cumulative_length: usize,
/// The number of later sibling branches, including this.
pub count: usize,
}
impl BranchMeta {
/// Creates a new empty [`BranchMeta`].
pub const fn const_default() -> Self {
BranchMeta {
ascii: 0,
cumulative_length: 0,
local_length: 0,
count: 0,
}
}
}