glib

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 VariantTy

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
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 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<'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<'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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 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 · 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 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
Source§

impl Eq for VariantTy

Source§

impl StructuralPartialEq for VariantTy

Source§

impl Sync for VariantTy

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§

default fn to_string(&self) -> String

Converts the given value to a String. Read more