use crate::{AnyVec, VecIndex, VecValue, Version, short_type_name};
use super::{super::RawStrategy, ReadWriteRawVec};
impl<I, T, S> AnyVec for ReadWriteRawVec<I, T, S>
where
I: VecIndex,
T: VecValue,
S: RawStrategy<T>,
{
#[inline]
fn version(&self) -> Version {
self.base.version()
}
#[inline]
fn name(&self) -> &str {
self.base.name()
}
#[inline]
fn len(&self) -> usize {
self.base.len()
}
#[inline]
fn index_type_to_string(&self) -> &'static str {
I::to_string()
}
#[inline]
fn value_type_to_size_of(&self) -> usize {
size_of::<T>()
}
#[inline]
fn value_type_to_string(&self) -> &'static str {
short_type_name::<T>()
}
#[inline]
fn region_names(&self) -> Vec<String> {
let mut names = vec![self.index_to_name()];
if self.has_stored_holes {
names.push(self.holes_region_name());
}
names
}
}