Skip to main content

VariantTy

Struct VariantTy 

Source
pub struct VariantTy { /* private fields */ }
Expand description

Describes Variant types.

This is a borrowed counterpart of VariantType. Essentially it’s a str statically guaranteed to be a valid type string.

Implementations§

Source§

impl VariantTy

Source

pub const BOOLEAN: &'static VariantTy

bool.

Source

pub const BYTE: &'static VariantTy

u8.

Source

pub const INT16: &'static VariantTy

i16.

Source

pub const UINT16: &'static VariantTy

u16.

Source

pub const INT32: &'static VariantTy

i32.

Source

pub const UINT32: &'static VariantTy

u32.

Source

pub const INT64: &'static VariantTy

i64.

Source

pub const UINT64: &'static VariantTy

u64.

Source

pub const DOUBLE: &'static VariantTy

f64.

Source

pub const STRING: &'static VariantTy

&str.

Source

pub const OBJECT_PATH: &'static VariantTy

DBus object path.

Source

pub const SIGNATURE: &'static VariantTy

Type signature.

Source

pub const VARIANT: &'static VariantTy

Variant.

Source

pub const HANDLE: &'static VariantTy

Handle.

Source

pub const UNIT: &'static VariantTy

Unit, i.e. ().

Source

pub const ANY: &'static VariantTy

An indefinite type that is a supertype of every type (including itself).

Source

pub const BASIC: &'static VariantTy

Any basic type.

Source

pub const MAYBE: &'static VariantTy

Any maybe type, i.e. Option<T>.

Source

pub const ARRAY: &'static VariantTy

Any array type, i.e. [T].

Source

pub const TUPLE: &'static VariantTy

Any tuple type, i.e. (T), (T, T), etc.

Source

pub const DICT_ENTRY: &'static VariantTy

Any dict entry type, i.e. DictEntry<K, V>.

Source

pub const DICTIONARY: &'static VariantTy

Any dictionary type, i.e. HashMap<K, V>, BTreeMap<K, V>.

Source

pub const STRING_ARRAY: &'static VariantTy

String array, i.e. [&str].

Source

pub const OBJECT_PATH_ARRAY: &'static VariantTy

Object path array, i.e. [&str].

Source

pub const BYTE_STRING: &'static VariantTy

Byte string, i.e. [u8].

Source

pub const BYTE_STRING_ARRAY: &'static VariantTy

Byte string array, i.e. [[u8]].

Source

pub const VARDICT: &'static VariantTy

Variant dictionary, i.e. HashMap<String, Variant>, BTreeMap<String, Variant>, etc.

Source

pub fn new(type_string: &str) -> Result<&VariantTy, BoolError>

Tries to create a &VariantTy from a string slice.

Returns Ok if the string is a valid type string, Err otherwise.

Source

pub const unsafe fn from_str_unchecked(type_string: &str) -> &VariantTy

Converts a type string into &VariantTy without any checks.

§Safety

The caller is responsible for passing in only a valid variant type string.

Source

pub fn as_str(&self) -> &str

Converts to a string slice.

Source

pub fn is_definite(&self) -> bool

Check if this variant type is a definite type.

Source

pub fn is_container(&self) -> bool

Check if this variant type is a container type.

Source

pub fn is_basic(&self) -> bool

Check if this variant type is a basic type.

Source

pub fn is_maybe(&self) -> bool

Check if this variant type is a maybe type.

Source

pub fn is_array(&self) -> bool

Check if this variant type is an array type.

Source

pub fn is_tuple(&self) -> bool

Check if this variant type is a tuple type.

Source

pub fn is_dict_entry(&self) -> bool

Check if this variant type is a dict entry type.

Source

pub fn is_variant(&self) -> bool

Check if this variant type is a variant.

Source

pub fn is_subtype_of(&self, supertype: &Self) -> bool

Check if this variant type is a subtype of another.

Source

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.

Source

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.

Source

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.

Source

pub fn next(&self) -> Option<&VariantTy>

Return the next type of this variant type.

Source

pub fn n_items(&self) -> usize

Return the number of items in this variant type.

Source

pub fn key(&self) -> &VariantTy

Return the key type of this variant type.

§Panics

This function panics if not called with a dictionary entry type.

Source

pub fn value(&self) -> &VariantTy

Return the value type of this variant type.

§Panics

This function panics if not called with a dictionary entry type.

Trait Implementations§

Source§

impl AsRef<VariantTy> for VariantType

Source§

fn as_ref(&self) -> &VariantTy

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<VariantTy> for VariantTy

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<VariantTy> for VariantType

Source§

fn borrow(&self) -> &VariantTy

Immutably borrows from an owned value. Read more
Source§

impl Debug for VariantTy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for VariantTy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for VariantTy

Source§

impl<'a> From<&'a VariantTy> for Cow<'a, VariantTy>

Source§

fn from(ty: &'a VariantTy) -> Cow<'a, VariantTy>

Converts to this type from the input type.
Source§

impl Hash for VariantTy

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
Source§

impl PartialEq for VariantTy

Source§

fn eq(&self, other: &VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<&'a VariantTy> for VariantType

Source§

fn eq(&self, other: &&'a VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<&'a VariantTy> for Cow<'b, VariantTy>

Source§

fn eq(&self, other: &&'a VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<&'a VariantTy> for str

Source§

fn eq(&self, other: &&'a VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<&'a VariantTy> for String

Source§

fn eq(&self, other: &&'a VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<&'a str> for VariantTy

Source§

fn eq(&self, other: &&'a str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<Cow<'b, VariantTy>> for &'a VariantTy

Source§

fn eq(&self, other: &Cow<'b, VariantTy>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<String> for VariantTy

Source§

fn eq(&self, other: &String) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<String> for &'a VariantTy

Source§

fn eq(&self, other: &String) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<VariantTy> for VariantType

Source§

fn eq(&self, other: &VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<VariantTy> for str

Source§

fn eq(&self, other: &VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<VariantTy> for &'a str

Source§

fn eq(&self, other: &VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<VariantTy> for String

Source§

fn eq(&self, other: &VariantTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<VariantType> for VariantTy

Source§

fn eq(&self, other: &VariantType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<VariantType> for &'a VariantTy

Source§

fn eq(&self, other: &VariantType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<str> for VariantTy

Source§

fn eq(&self, other: &str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, 'b> PartialEq<str> for &'a VariantTy

Source§

fn eq(&self, other: &str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StaticType for VariantTy

Source§

fn static_type() -> Type

Returns the type identifier of Self.
Source§

impl StructuralPartialEq for VariantTy

Source§

impl Sync for VariantTy

Source§

impl ToOwned for VariantTy

Source§

type Owned = VariantType

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> VariantType

Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · Source§

fn clone_into(&self, target: &mut Self::Owned)

Uses borrowed data to replace owned data, usually by cloning. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ToSendValue for T
where T: Send + ToValue + ?Sized,

Source§

fn to_send_value(&self) -> SendValue

Returns a SendValue clone of self.
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more