pub struct Struct { /* private fields */ }Expand description
Represents a Struct value.
Structs are cheap to clone.
Implementations§
Source§impl Struct
impl Struct
Sourcepub fn new<S, V>(
context: Option<&dyn EvaluationContext>,
ty: impl Into<Type>,
members: impl IntoIterator<Item = (S, V)>,
) -> Result<Self>
pub fn new<S, V>( context: Option<&dyn EvaluationContext>, ty: impl Into<Type>, members: impl IntoIterator<Item = (S, V)>, ) -> Result<Self>
Creates a new struct value.
Returns an error if the struct type does not contain a member of a given name or if a value does not coerce to the corresponding member’s type.
§Panics
Panics if the given type is not a struct type.
Sourcepub fn iter(&self) -> impl ExactSizeIterator<Item = (&str, &Value)>
pub fn iter(&self) -> impl ExactSizeIterator<Item = (&str, &Value)>
Iterates the members of the struct.
Sourcepub fn keys(&self) -> impl ExactSizeIterator<Item = &str>
pub fn keys(&self) -> impl ExactSizeIterator<Item = &str>
Iterates the keys of the struct.
Sourcepub fn values(&self) -> impl ExactSizeIterator<Item = &Value>
pub fn values(&self) -> impl ExactSizeIterator<Item = &Value>
Iterates the values of the struct.
Sourcepub fn contains_key(&self, key: &str) -> bool
pub fn contains_key(&self, key: &str) -> bool
Determines if the struct contains the given member name.
Trait Implementations§
Source§impl From<Struct> for CompoundValue
impl From<Struct> for CompoundValue
Auto Trait Implementations§
impl Freeze for Struct
impl RefUnwindSafe for Struct
impl Send for Struct
impl Sync for Struct
impl Unpin for Struct
impl UnwindSafe for Struct
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.