pub mod conf;
pub mod r#impl;
pub mod key;
pub mod meta;
pub mod traits;
pub use conf::{
BE_LEN, ERR_MAX_NOT_INT, ERR_MIN_GT_MAX, ERR_MIN_NOT_INT, ERR_WRONG_TYPE, SortedintRangeSpec,
decode_be_u64, encode_be_u64, parse_range_spec,
};
pub use key::{
item as compose_si_item_key, key as compose_si_key, meta as compose_si_meta_key,
prefix as compose_si_prefix, prefix_stack as compose_si_prefix_stack,
};
pub use meta::SortedintMeta;
pub use traits::SortedInt;
#[inline(always)]
pub fn extract_id(key_bytes: &[u8], prefix_len: usize) -> Option<u64> {
let sub = key_bytes.get(prefix_len..)?;
decode_be_u64(sub.get(..BE_LEN)?)
}