pub trait IKeFormatStorage<'s>: Sized {
type PartialConstruct;
type ConstructionError: Display;
type ValuesStorage<T>: AsMut<[T]> + AsRef<[T]>;
// Required methods
fn new_constructor( ) -> IterativeConstructor<Self, Self::PartialConstruct, Self::ConstructionError>;
fn add_segment(
constructor: IterativeConstructor<Self, Self::PartialConstruct, Self::ConstructionError>,
segment: Segment<'s>,
) -> IterativeConstructor<Self, Self::PartialConstruct, Self::ConstructionError>;
fn segments(&self) -> &[Segment<'s>];
fn segments_mut(&mut self) -> &mut [Segment<'s>];
fn values_storage<T, F: FnMut(usize) -> T>(
&self,
f: F,
) -> Self::ValuesStorage<T>;
// Provided methods
fn segment(&self, id: &str) -> Option<&Segment<'s>> { ... }
fn segment_mut(&mut self, id: &str) -> Option<&mut Segment<'s>> { ... }
}Required Associated Types§
type PartialConstruct
type ConstructionError: Display
type ValuesStorage<T>: AsMut<[T]> + AsRef<[T]>
Required Methods§
fn new_constructor() -> IterativeConstructor<Self, Self::PartialConstruct, Self::ConstructionError>
fn add_segment( constructor: IterativeConstructor<Self, Self::PartialConstruct, Self::ConstructionError>, segment: Segment<'s>, ) -> IterativeConstructor<Self, Self::PartialConstruct, Self::ConstructionError>
fn segments(&self) -> &[Segment<'s>]
fn segments_mut(&mut self) -> &mut [Segment<'s>]
fn values_storage<T, F: FnMut(usize) -> T>( &self, f: F, ) -> Self::ValuesStorage<T>
Provided Methods§
fn segment(&self, id: &str) -> Option<&Segment<'s>>
fn segment_mut(&mut self, id: &str) -> Option<&mut Segment<'s>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.