pub struct VacantEntry<'a, T> { /* private fields */ }
Expand description
A view into a single empty location in a HeaderMap
.
This struct is returned as part of the Entry
enum.
Implementations§
Source§impl<'a, T> VacantEntry<'a, T>
impl<'a, T> VacantEntry<'a, T>
Sourcepub fn key(&self) -> &HeaderName
pub fn key(&self) -> &HeaderName
Returns a reference to the entry’s key
§Examples
let mut map = HeaderMap::new();
assert_eq!(map.entry("x-hello").key().as_str(), "x-hello");
Sourcepub fn into_key(self) -> HeaderName
pub fn into_key(self) -> HeaderName
Take ownership of the key
§Examples
let mut map = HeaderMap::new();
if let Entry::Vacant(v) = map.entry("x-hello") {
assert_eq!(v.into_key().as_str(), "x-hello");
}
Sourcepub fn insert(self, value: T) -> &'a mut T
pub fn insert(self, value: T) -> &'a mut T
Insert the value into the entry.
The value will be associated with this entry’s key. A mutable reference to the inserted value will be returned.
§Examples
let mut map = HeaderMap::new();
if let Entry::Vacant(v) = map.entry("x-hello") {
v.insert("world".parse().unwrap());
}
assert_eq!(map["x-hello"], "world");
Sourcepub fn try_insert(self, value: T) -> Result<&'a mut T, MaxSizeReached>
pub fn try_insert(self, value: T) -> Result<&'a mut T, MaxSizeReached>
Insert the value into the entry.
The value will be associated with this entry’s key. A mutable reference to the inserted value will be returned.
§Examples
let mut map = HeaderMap::new();
if let Entry::Vacant(v) = map.entry("x-hello") {
v.insert("world".parse().unwrap());
}
assert_eq!(map["x-hello"], "world");
Sourcepub fn insert_entry(self, value: T) -> OccupiedEntry<'a, T>
pub fn insert_entry(self, value: T) -> OccupiedEntry<'a, T>
Insert the value into the entry.
The value will be associated with this entry’s key. The new
OccupiedEntry
is returned, allowing for further manipulation.
§Examples
let mut map = HeaderMap::new();
if let Entry::Vacant(v) = map.try_entry("x-hello").unwrap() {
let mut e = v.try_insert_entry("world".parse().unwrap()).unwrap();
e.insert("world2".parse().unwrap());
}
assert_eq!(map["x-hello"], "world2");
Sourcepub fn try_insert_entry(
self,
value: T,
) -> Result<OccupiedEntry<'a, T>, MaxSizeReached>
pub fn try_insert_entry( self, value: T, ) -> Result<OccupiedEntry<'a, T>, MaxSizeReached>
Insert the value into the entry.
The value will be associated with this entry’s key. The new
OccupiedEntry
is returned, allowing for further manipulation.
§Examples
let mut map = HeaderMap::new();
if let Entry::Vacant(v) = map.try_entry("x-hello").unwrap() {
let mut e = v.try_insert_entry("world".parse().unwrap()).unwrap();
e.insert("world2".parse().unwrap());
}
assert_eq!(map["x-hello"], "world2");
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> !Freeze for VacantEntry<'a, T>
impl<'a, T> RefUnwindSafe for VacantEntry<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for VacantEntry<'a, T>where
T: Send,
impl<'a, T> Sync for VacantEntry<'a, T>where
T: Sync,
impl<'a, T> Unpin for VacantEntry<'a, T>
impl<'a, T> !UnwindSafe for VacantEntry<'a, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 56 bytes