pub trait Map {
type Key;
type Val;
// Required methods
fn len(&self) -> usize;
fn with_capacity(capacity: usize) -> Self;
fn capacity(&self) -> usize;
fn mem_size(&self) -> usize;
fn contains(&self, key: &Self::Key) -> bool;
fn get(&self, key: &Self::Key) -> Option<&Self::Val>;
fn get_mut(&mut self, key: &Self::Key) -> Option<&mut Self::Val>;
unsafe fn get_unchecked(&self, key: &Self::Key) -> &Self::Val;
unsafe fn get_unchecked_mut(&mut self, key: &Self::Key) -> &mut Self::Val;
unsafe fn remove_unchecked(&mut self, key: &Self::Key) -> Self::Val;
fn insert(&mut self, key: Self::Key, val: Self::Val) -> Option<Self::Val>;
fn remove(&mut self, key: &Self::Key) -> Option<Self::Val>;
}
Expand description
Map接口定义
Required Associated Types§
Required Methods§
fn len(&self) -> usize
fn with_capacity(capacity: usize) -> Self
fn capacity(&self) -> usize
fn mem_size(&self) -> usize
fn contains(&self, key: &Self::Key) -> bool
fn get(&self, key: &Self::Key) -> Option<&Self::Val>
fn get_mut(&mut self, key: &Self::Key) -> Option<&mut Self::Val>
unsafe fn get_unchecked(&self, key: &Self::Key) -> &Self::Val
unsafe fn get_unchecked_mut(&mut self, key: &Self::Key) -> &mut Self::Val
unsafe fn remove_unchecked(&mut self, key: &Self::Key) -> Self::Val
fn insert(&mut self, key: Self::Key, val: Self::Val) -> Option<Self::Val>
fn remove(&mut self, key: &Self::Key) -> Option<Self::Val>
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.