Struct VariantType
pub struct VariantType { /* private fields */ }Expand description
Describes Variant types.
The Variant type system (based on the D-Bus one) describes types with
“type strings”. VariantType is an owned immutable type string (you can
think of it as a Box<str> statically guaranteed to be a valid type
string), &VariantTy is a borrowed one (like &str).
Implementations§
§impl VariantType
impl VariantType
pub fn new(type_string: &str) -> Result<VariantType, BoolError>
pub fn new(type_string: &str) -> Result<VariantType, BoolError>
Tries to create a VariantType from a string slice.
Returns Ok if the string is a valid type string, Err otherwise.
pub fn new_dict_entry(
key_type: &VariantTy,
value_type: &VariantTy,
) -> VariantType
pub fn new_dict_entry( key_type: &VariantTy, value_type: &VariantTy, ) -> VariantType
Creates a VariantType from a key and value type.
pub fn new_array(elem_type: &VariantTy) -> VariantType
pub fn new_array(elem_type: &VariantTy) -> VariantType
Creates a VariantType from an array element type.
pub fn new_maybe(child_type: &VariantTy) -> VariantType
pub fn new_maybe(child_type: &VariantTy) -> VariantType
Creates a VariantType from a maybe element type.
pub fn new_tuple(
items: impl IntoIterator<Item = impl AsRef<VariantTy>>,
) -> VariantType
pub fn new_tuple( items: impl IntoIterator<Item = impl AsRef<VariantTy>>, ) -> VariantType
Creates a VariantType from a maybe element type.
pub fn from_string(
type_string: impl Into<GString>,
) -> Result<VariantType, BoolError>
pub fn from_string( type_string: impl Into<GString>, ) -> Result<VariantType, BoolError>
Tries to create a VariantType from an owned string.
Returns Ok if the string is a valid type string, Err otherwise.
Methods from Deref<Target = VariantTy>§
pub const BOOLEAN: &'static VariantTy
pub const BYTE: &'static VariantTy
pub const INT16: &'static VariantTy
pub const UINT16: &'static VariantTy
pub const INT32: &'static VariantTy
pub const UINT32: &'static VariantTy
pub const INT64: &'static VariantTy
pub const UINT64: &'static VariantTy
pub const DOUBLE: &'static VariantTy
pub const STRING: &'static VariantTy
pub const OBJECT_PATH: &'static VariantTy
pub const SIGNATURE: &'static VariantTy
pub const VARIANT: &'static VariantTy
pub const HANDLE: &'static VariantTy
pub const UNIT: &'static VariantTy
pub const ANY: &'static VariantTy
pub const BASIC: &'static VariantTy
pub const MAYBE: &'static VariantTy
pub const ARRAY: &'static VariantTy
pub const TUPLE: &'static VariantTy
pub const DICT_ENTRY: &'static VariantTy
pub const DICTIONARY: &'static VariantTy
pub const STRING_ARRAY: &'static VariantTy
pub const OBJECT_PATH_ARRAY: &'static VariantTy
pub const BYTE_STRING: &'static VariantTy
pub const BYTE_STRING_ARRAY: &'static VariantTy
pub const VARDICT: &'static VariantTy
pub fn is_definite(&self) -> bool
pub fn is_definite(&self) -> bool
Check if this variant type is a definite type.
pub fn is_container(&self) -> bool
pub fn is_container(&self) -> bool
Check if this variant type is a container type.
pub fn is_dict_entry(&self) -> bool
pub fn is_dict_entry(&self) -> bool
Check if this variant type is a dict entry type.
pub fn is_variant(&self) -> bool
pub fn is_variant(&self) -> bool
Check if this variant type is a variant.
pub fn is_subtype_of(&self, supertype: &VariantTy) -> bool
pub fn is_subtype_of(&self, supertype: &VariantTy) -> bool
Check if this variant type is a subtype of another.
pub fn element(&self) -> &VariantTy
pub fn element(&self) -> &VariantTy
Return the element type of this variant type.
§Panics
This function panics if not called with an array or maybe type.
pub fn tuple_types(&self) -> VariantTyIterator<'_> ⓘ
pub fn tuple_types(&self) -> VariantTyIterator<'_> ⓘ
Iterate over the types of this variant type.
§Panics
This function panics if not called with a tuple or dictionary entry type.
pub fn first(&self) -> Option<&VariantTy>
pub fn first(&self) -> Option<&VariantTy>
Return the first type of this variant type.
§Panics
This function panics if not called with a tuple or dictionary entry type.
Trait Implementations§
§impl AsRef<VariantTy> for VariantType
impl AsRef<VariantTy> for VariantType
§impl Borrow<VariantTy> for VariantType
impl Borrow<VariantTy> for VariantType
§impl Clone for VariantType
impl Clone for VariantType
§fn clone(&self) -> VariantType
fn clone(&self) -> VariantType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for VariantType
impl Debug for VariantType
§impl Deref for VariantType
impl Deref for VariantType
§impl Display for VariantType
impl Display for VariantType
§impl<'a> From<VariantType> for Cow<'a, VariantTy>
impl<'a> From<VariantType> for Cow<'a, VariantTy>
§fn from(ty: VariantType) -> Cow<'a, VariantTy>
fn from(ty: VariantType) -> Cow<'a, VariantTy>
§impl FromStr for VariantType
impl FromStr for VariantType
§impl Hash for VariantType
impl Hash for VariantType
§impl<'a, 'b> PartialEq<&'a VariantTy> for VariantType
impl<'a, 'b> PartialEq<&'a VariantTy> for VariantType
§impl<'a, 'b> PartialEq<&'a str> for VariantType
impl<'a, 'b> PartialEq<&'a str> for VariantType
§impl<'a, 'b> PartialEq<Cow<'a, VariantTy>> for VariantType
impl<'a, 'b> PartialEq<Cow<'a, VariantTy>> for VariantType
§impl<'a, 'b> PartialEq<String> for VariantType
impl<'a, 'b> PartialEq<String> for VariantType
§impl<'a, 'b> PartialEq<VariantTy> for VariantType
impl<'a, 'b> PartialEq<VariantTy> for VariantType
§impl<'a, 'b> PartialEq<VariantType> for &'a VariantTy
impl<'a, 'b> PartialEq<VariantType> for &'a VariantTy
§impl<'a, 'b> PartialEq<VariantType> for &'a str
impl<'a, 'b> PartialEq<VariantType> for &'a str
§impl<'a, 'b> PartialEq<VariantType> for Cow<'a, VariantTy>
impl<'a, 'b> PartialEq<VariantType> for Cow<'a, VariantTy>
§impl<'a, 'b> PartialEq<VariantType> for String
impl<'a, 'b> PartialEq<VariantType> for String
§impl<'a, 'b> PartialEq<VariantType> for VariantTy
impl<'a, 'b> PartialEq<VariantType> for VariantTy
§impl<'a, 'b> PartialEq<VariantType> for str
impl<'a, 'b> PartialEq<VariantType> for str
§impl<'a, 'b> PartialEq<str> for VariantType
impl<'a, 'b> PartialEq<str> for VariantType
§impl PartialEq for VariantType
impl PartialEq for VariantType
§impl StaticType for VariantType
impl StaticType for VariantType
§fn static_type() -> Type
fn static_type() -> Type
Self.impl Eq for VariantType
impl Send for VariantType
impl Sync for VariantType
Auto Trait Implementations§
impl Freeze for VariantType
impl RefUnwindSafe for VariantType
impl Unpin for VariantType
impl UnwindSafe for VariantType
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
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> ⓘ
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> ⓘ
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 more§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
§fn ensure_type()
fn ensure_type()
§impl<T> ToSendValue for T
impl<T> ToSendValue for T
§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue clone of self.§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.