Enum graph_rs_sdk::header::Entry
source · [−]pub enum Entry<'a, T> where
T: 'a, {
Occupied(OccupiedEntry<'a, T>),
Vacant(VacantEntry<'a, T>),
}Expand description
A view into a single location in a HeaderMap, which may be vacant or occupied.
Variants
Occupied(OccupiedEntry<'a, T>)
An occupied entry
Vacant(VacantEntry<'a, T>)
A vacant entry
Implementations
Ensures a value is in the entry by inserting the default if empty.
Returns a mutable reference to the first value in the entry.
Examples
let mut map: HeaderMap<u32> = HeaderMap::default();
let headers = &[
"content-length",
"x-hello",
"Content-Length",
"x-world",
];
for &header in headers {
let counter = map.entry(header)
.or_insert(0);
*counter += 1;
}
assert_eq!(map["content-length"], 2);
assert_eq!(map["x-hello"], 1);Ensures a value is in the entry by inserting the result of the default function if empty.
The default function is not called if the entry exists in the map. Returns a mutable reference to the first value in the entry.
Examples
Basic usage.
let mut map = HeaderMap::new();
let res = map.entry("x-hello")
.or_insert_with(|| "world".parse().unwrap());
assert_eq!(res, "world");The default function is not called if the entry exists in the map.
let mut map = HeaderMap::new();
map.insert(HOST, "world".parse().unwrap());
let res = map.entry("host")
.or_insert_with(|| unreachable!());
assert_eq!(res, "world");Returns a reference to the entry’s key
Examples
let mut map = HeaderMap::new();
assert_eq!(map.entry("x-hello").key(), "x-hello");Trait Implementations
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Entry<'a, T> where
T: RefUnwindSafe,
impl<'a, T> !UnwindSafe for Entry<'a, T>
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more