pub struct UserExtensionValues { /* private fields */ }
Expand description
Space for storing user extension values via ExtensionSerializer
.
Implementations§
Source§impl UserExtensionValues
impl UserExtensionValues
Sourcepub fn set<T: Send + Sync + 'static>(&mut self, val: T)
pub fn set<T: Send + Sync + 'static>(&mut self, val: T)
Set a user extension value.
This uses the type of the value as “key”, i.e. it can only hold a single per type. The user should make a wrapper type for the extension they want to parse/write.
let mut exts = ExtensionValues::default();
#[derive(Debug, PartialEq, Eq)]
struct MySpecialType(u8);
exts.user_values.set(MySpecialType(42));
Sourcepub fn get<T: Send + Sync + 'static>(&self) -> Option<&T>
pub fn get<T: Send + Sync + 'static>(&self) -> Option<&T>
Get a user extension value (by type).
let mut exts = ExtensionValues::default();
#[derive(Debug, PartialEq, Eq)]
struct MySpecialType(u8);
exts.user_values.set(MySpecialType(42));
let v = exts.user_values.get::<MySpecialType>();
assert_eq!(v, Some(&MySpecialType(42)));
Trait Implementations§
Source§impl Clone for UserExtensionValues
impl Clone for UserExtensionValues
Source§fn clone(&self) -> UserExtensionValues
fn clone(&self) -> UserExtensionValues
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Default for UserExtensionValues
impl Default for UserExtensionValues
Source§fn default() -> UserExtensionValues
fn default() -> UserExtensionValues
Returns the “default value” for a type. Read more
Source§impl PartialEq for UserExtensionValues
impl PartialEq for UserExtensionValues
impl Eq for UserExtensionValues
impl UnwindSafe for UserExtensionValues
Auto Trait Implementations§
impl Freeze for UserExtensionValues
impl !RefUnwindSafe for UserExtensionValues
impl Send for UserExtensionValues
impl Sync for UserExtensionValues
impl Unpin for UserExtensionValues
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
Mutably borrows from an owned value. Read more