pub struct Attributes(/* private fields */);
Implementations§
Source§impl Attributes
impl Attributes
pub fn with_defaults<I: Into<Attributes>>(self, defaults: I) -> Attributes
Methods from Deref<Target = Option<HashMap<AttrValue, Option<AttrValue>>>>§
1.0.0 · Sourcepub fn as_ref(&self) -> Option<&T>
pub fn as_ref(&self) -> Option<&T>
Converts from &Option<T>
to Option<&T>
.
§Examples
Calculates the length of an Option<String>
as an Option<usize>
without moving the String
. The map
method takes the self
argument by value,
consuming the original, so this technique uses as_ref
to first take an Option
to a
reference to the value inside the original.
let text: Option<String> = Some("Hello, world!".to_string());
// First, cast `Option<String>` to `Option<&String>` with `as_ref`,
// then consume *that* with `map`, leaving `text` on the stack.
let text_length: Option<usize> = text.as_ref().map(|s| s.len());
println!("still can print text: {text:?}");
1.75.0 · Sourcepub fn as_slice(&self) -> &[T]
pub fn as_slice(&self) -> &[T]
Returns a slice of the contained value, if any. If this is None
, an
empty slice is returned. This can be useful to have a single type of
iterator over an Option
or slice.
Note: Should you have an Option<&T>
and wish to get a slice of T
,
you can unpack it via opt.map_or(&[], std::slice::from_ref)
.
§Examples
assert_eq!(
[Some(1234).as_slice(), None.as_slice()],
[&[1234][..], &[][..]],
);
The inverse of this function is (discounting
borrowing) [_]::first
:
for i in [Some(1234_u16), None] {
assert_eq!(i.as_ref(), i.as_slice().first());
}
1.40.0 · Sourcepub fn as_deref(&self) -> Option<&<T as Deref>::Target>where
T: Deref,
pub fn as_deref(&self) -> Option<&<T as Deref>::Target>where
T: Deref,
Converts from Option<T>
(or &Option<T>
) to Option<&T::Target>
.
Leaves the original Option in-place, creating a new one with a reference
to the original one, additionally coercing the contents via Deref
.
§Examples
let x: Option<String> = Some("hey".to_owned());
assert_eq!(x.as_deref(), Some("hey"));
let x: Option<String> = None;
assert_eq!(x.as_deref(), None);
Trait Implementations§
Source§impl Clone for Attributes
impl Clone for Attributes
Source§fn clone(&self) -> Attributes
fn clone(&self) -> Attributes
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for Attributes
impl Debug for Attributes
Source§impl Default for Attributes
impl Default for Attributes
Source§fn default() -> Attributes
fn default() -> Attributes
Source§impl Deref for Attributes
impl Deref for Attributes
Source§impl<'a> IntoIterator for &'a Attributes
impl<'a> IntoIterator for &'a Attributes
Source§impl<'a> IntoIterator for &'a mut Attributes
impl<'a> IntoIterator for &'a mut Attributes
Source§impl IntoIterator for Attributes
impl IntoIterator for Attributes
Source§impl<const N: usize> IntoPropValue<Attributes> for [(&str, &str); N]
impl<const N: usize> IntoPropValue<Attributes> for [(&str, &str); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(&str, Option<&str>); N]
impl<const N: usize> IntoPropValue<Attributes> for [(&str, Option<&str>); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(&str, Option<String>); N]
impl<const N: usize> IntoPropValue<Attributes> for [(&str, Option<String>); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(&str, String); N]
impl<const N: usize> IntoPropValue<Attributes> for [(&str, String); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(AttrValue, AttrValue); N]
impl<const N: usize> IntoPropValue<Attributes> for [(AttrValue, AttrValue); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(AttrValue, Option<AttrValue>); N]
impl<const N: usize> IntoPropValue<Attributes> for [(AttrValue, Option<AttrValue>); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(String, Option<String>); N]
impl<const N: usize> IntoPropValue<Attributes> for [(String, Option<String>); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl<const N: usize> IntoPropValue<Attributes> for [(String, String); N]
impl<const N: usize> IntoPropValue<Attributes> for [(String, String); N]
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl IntoPropValue<Attributes> for HashMap<AttrValue, AttrValue>
impl IntoPropValue<Attributes> for HashMap<AttrValue, AttrValue>
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl IntoPropValue<Attributes> for HashMap<AttrValue, Option<AttrValue>>
impl IntoPropValue<Attributes> for HashMap<AttrValue, Option<AttrValue>>
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl IntoPropValue<Attributes> for HashMap<String, Option<String>>
impl IntoPropValue<Attributes> for HashMap<String, Option<String>>
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl IntoPropValue<Attributes> for HashMap<String, String>
impl IntoPropValue<Attributes> for HashMap<String, String>
Source§fn into_prop_value(self) -> Attributes
fn into_prop_value(self) -> Attributes
self
to a value of a Properties
struct.Source§impl PartialEq for Attributes
impl PartialEq for Attributes
impl StructuralPartialEq for Attributes
Auto Trait Implementations§
impl Freeze for Attributes
impl RefUnwindSafe for Attributes
impl !Send for Attributes
impl !Sync for Attributes
impl Unpin for Attributes
impl UnwindSafe for Attributes
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
Source§fn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
self
to a value of a Properties
struct.Source§impl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
Source§fn into_prop_value(self) -> T
fn into_prop_value(self) -> T
self
to a value of a Properties
struct.