pub struct Structure(/* private fields */);
Expand description
A Structure
is a collection of key/value pairs. The keys are expressed as
GQuarks and the values can be of any GType.
In addition to the key/value pairs, a Structure
also has a name. The name
starts with a letter and can be filled by letters, numbers and any of
“/-_.:”.
Structure
is used by various GStreamer subsystems to store information in
a flexible and extensible way. A Structure
does not have a refcount
because it usually is part of a higher level object such as Caps
,
Message
, Event
, Query
. It provides a means to enforce mutability
using the refcount of the parent with the gst_structure_set_parent_refcount()
method.
A Structure
can be created with new_empty()
or
[new()
][Self::new()], which both take a name and an optional set of key/value
pairs along with the types of the values.
Field values can be changed with gst_structure_set_value()
or
gst_structure_set()
.
Field values can be retrieved with gst_structure_get_value()
or the more
convenient gst_structure_get_*() functions.
Fields can be removed with gst_structure_remove_field()
or
gst_structure_remove_fields()
.
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not
allowed. Strings may be None
however.
§The serialization format
GstStructure serialization format serialize the GstStructure name,
keys/GType/values in a comma separated list with the structure name as first
field without value followed by separated key/value pairs in the form
key=value
, for example:
a-structure, key=value
The values type will be inferred if not explicitly specified with the
(GTypeName)value
syntax, for example the following struct will have one
field called ‘is-string’ which has the string ‘true’ as a value:
a-struct, field-is-string=(string)true, field-is-boolean=true
Note: without specifying (string),
field-is-string` type would have been
inferred as boolean.
Note: we specified (string)
as a type even if gchararray
is the actual
GType name as for convenience some well known types have been aliased or
abbreviated.
To avoid specifying the type, you can give some hints to the “type system”.
For example to specify a value as a double, you should add a decimal (ie. 1
is an int
while 1.0
is a double
).
Note: when a structure is serialized with gst_structure_to_string
, all
values are explicitly typed.
Some types have special delimiters:
- GstValueArray are inside curly brackets (
{
and}
). For examplea-structure, array={1, 2, 3}
- Ranges are inside brackets (
[
and]
). For examplea-structure, range=[1, 6, 2]
1 being the min value, 6 the maximum and 2 the step. To specify aGST_TYPE_INT64_RANGE
you need to explicitly specify it like:a-structure, a-int64-range=(gint64) [1, 5]
- GstValueList are inside “less and greater than” (
<
and>
). For example `a-structure, list=<1, 2, 3>
Structures are delimited either by a null character \0
or a semicolon ;
the latter allowing to store multiple structures in the same string (see
Caps
).
Quotes are used as “default” delimiters and can be used around any types that
don’t use other delimiters (for example a-struct, i=(int)"1"
). They are use
to allow adding spaces or special characters (such as delimiters,
semicolumns, etc..) inside strings and you can use backslashes \
to escape
characters inside them, for example:
a-struct, special="\"{[(;)]}\" can be used inside quotes"
They also allow for nested structure, such as:
a-struct, nested=(GstStructure)"nested-struct, nested=true"
Since 1.20, nested structures and caps can be specified using brackets ([
and ]
), for example:
a-struct, nested=[nested-struct, nested=true]
note: [
to_str()
][Self::to_str()] won’t use that syntax for backward compatibility reason, [serialize_full()
][Self::serialize_full()] has been added for that purpose.
Implementations§
Methods from Deref<Target = StructureRef>§
pub fn as_ptr(&self) -> *const GstStructure
pub fn as_mut_ptr(&self) -> *mut GstStructure
pub fn get<'a, T: FromValue<'a>>( &'a self, name: impl IntoGStr, ) -> Result<T, GetError<<<T as FromValue<'a>>::Checker as ValueTypeChecker>::Error>>
pub fn get_optional<'a, T: FromValue<'a>>( &'a self, name: impl IntoGStr, ) -> Result<Option<T>, GetError<<<T as FromValue<'a>>::Checker as ValueTypeChecker>::Error>>
pub fn value( &self, name: impl IntoGStr, ) -> Result<&SendValue, GetError<Infallible>>
pub fn get_by_quark<'a, T: FromValue<'a>>( &'a self, name: Quark, ) -> Result<T, GetError<<<T as FromValue<'a>>::Checker as ValueTypeChecker>::Error>>
pub fn get_optional_by_quark<'a, T: FromValue<'a>>( &'a self, name: Quark, ) -> Result<Option<T>, GetError<<<T as FromValue<'a>>::Checker as ValueTypeChecker>::Error>>
pub fn value_by_quark( &self, name: Quark, ) -> Result<&SendValue, GetError<Infallible>>
sourcepub fn set(&mut self, name: impl IntoGStr, value: impl Into<Value> + Send)
pub fn set(&mut self, name: impl IntoGStr, value: impl Into<Value> + Send)
Sets field name
to the given value value
.
Overrides any default or previously defined value for name
.
sourcepub fn set_if(
&mut self,
name: impl IntoGStr,
value: impl Into<Value> + Send,
predicate: bool,
)
pub fn set_if( &mut self, name: impl IntoGStr, value: impl Into<Value> + Send, predicate: bool, )
Sets field name
to the given inner value if value
is Some
.
This has no effect if the predicate
evaluates to false
,
i.e. default or previous value for name
is kept.
sourcepub fn set_if_some(
&mut self,
name: impl IntoGStr,
value: Option<impl Into<Value> + Send>,
)
pub fn set_if_some( &mut self, name: impl IntoGStr, value: Option<impl Into<Value> + Send>, )
Sets field name
to the given inner value if value
is Some
.
This has no effect if the value is None
, i.e. default or previous value for name
is kept.
sourcepub fn set_from_iter<V: ValueType + Into<Value> + FromIterator<SendValue> + Send>(
&mut self,
name: impl IntoGStr,
iter: impl IntoIterator<Item = impl ToSendValue>,
)
pub fn set_from_iter<V: ValueType + Into<Value> + FromIterator<SendValue> + Send>( &mut self, name: impl IntoGStr, iter: impl IntoIterator<Item = impl ToSendValue>, )
Sets field name
using the given ValueType
V
built from iter
’s the Item
s.
Overrides any default or previously defined value for name
.
sourcepub fn set_if_not_empty<V: ValueType + Into<Value> + FromIterator<SendValue> + Send>(
&mut self,
name: impl IntoGStr,
iter: impl IntoIterator<Item = impl ToSendValue>,
)
pub fn set_if_not_empty<V: ValueType + Into<Value> + FromIterator<SendValue> + Send>( &mut self, name: impl IntoGStr, iter: impl IntoIterator<Item = impl ToSendValue>, )
Sets field name
using the given ValueType
V
built from iter
’s Items, if
iter` is not empty.
This has no effect if iter
is empty, i.e. previous value for name
is unchanged.
sourcepub fn set_value(&mut self, name: impl IntoGStr, value: SendValue)
pub fn set_value(&mut self, name: impl IntoGStr, value: SendValue)
Sets field name
to the given value value
.
Overrides any default or previously defined value for name
.
sourcepub fn set_value_if(
&mut self,
name: impl IntoGStr,
value: SendValue,
predicate: bool,
)
pub fn set_value_if( &mut self, name: impl IntoGStr, value: SendValue, predicate: bool, )
Sets field name
to the given inner value if value
is Some
.
This has no effect if the predicate
evaluates to false
,
i.e. default or previous value for name
is kept.
sourcepub fn set_value_if_some(
&mut self,
name: impl IntoGStr,
value: Option<SendValue>,
)
pub fn set_value_if_some( &mut self, name: impl IntoGStr, value: Option<SendValue>, )
Sets field name
to the given inner value if value
is Some
.
This has no effect if the value is None
, i.e. default or previous value for name
is kept.
pub fn set_by_quark(&mut self, name: Quark, value: impl Into<Value> + Send)
pub fn set_by_quark_if_some( &mut self, name: Quark, value: Option<impl Into<Value> + Send>, )
pub fn set_value_by_quark(&mut self, name: Quark, value: SendValue)
pub fn set_value_by_quark_if_some( &mut self, name: Quark, value: Option<SendValue>, )
pub fn name<'a>(&self) -> &'a GStr
pub fn name_quark(&self) -> Quark
pub fn set_name(&mut self, name: impl IntoGStr)
pub fn set_name_if_some(&mut self, name: Option<impl IntoGStr>)
pub fn has_name(&self, name: &str) -> bool
pub fn has_field(&self, field: impl IntoGStr) -> bool
pub fn has_field_with_type(&self, field: impl IntoGStr, type_: Type) -> bool
pub fn has_field_by_quark(&self, field: Quark) -> bool
pub fn has_field_with_type_by_quark(&self, field: Quark, type_: Type) -> bool
pub fn remove_field(&mut self, field: impl IntoGStr)
pub fn remove_fields(&mut self, fields: impl IntoIterator<Item = impl IntoGStr>)
pub fn remove_all_fields(&mut self)
pub fn fields(&self) -> FieldIterator<'_> ⓘ
pub fn iter(&self) -> Iter<'_> ⓘ
pub fn nth_field_name<'a>(&self, idx: usize) -> Option<&'a GStr>
pub fn n_fields(&self) -> usize
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn can_intersect(&self, other: &StructureRef) -> bool
pub fn intersect(&self, other: &StructureRef) -> Option<Structure>
pub fn is_subset(&self, superset: &StructureRef) -> bool
pub fn fixate(&mut self)
pub fn fixate_field(&mut self, name: impl IntoGStr) -> bool
pub fn fixate_field_bool(&mut self, name: impl IntoGStr, target: bool) -> bool
pub fn fixate_field_str( &mut self, name: impl IntoGStr, target: impl IntoGStr, ) -> bool
pub fn fixate_field_nearest_double( &mut self, name: impl IntoGStr, target: f64, ) -> bool
pub fn fixate_field_nearest_fraction( &mut self, name: impl IntoGStr, target: impl Into<Fraction>, ) -> bool
pub fn fixate_field_nearest_int( &mut self, name: impl IntoGStr, target: i32, ) -> bool
pub fn serialize(&self, flags: SerializeFlags) -> GString
pub fn serialize_strict( &self, flags: SerializeFlags, ) -> Result<GString, BoolError>
pub fn foreach<F: FnMut(Quark, &Value) -> ControlFlow<()>>( &self, func: F, ) -> bool
pub fn map_in_place<F: FnMut(Quark, &mut Value) -> ControlFlow<()>>( &mut self, func: F, ) -> bool
pub fn filter_map_in_place<F: FnMut(Quark, Value) -> Option<Value>>( &mut self, func: F, )
Trait Implementations§
source§impl AsMut<StructureRef> for Structure
impl AsMut<StructureRef> for Structure
source§fn as_mut(&mut self) -> &mut StructureRef
fn as_mut(&mut self) -> &mut StructureRef
source§impl AsRef<StructureRef> for Structure
impl AsRef<StructureRef> for Structure
source§fn as_ref(&self) -> &StructureRef
fn as_ref(&self) -> &StructureRef
source§impl Borrow<StructureRef> for Structure
impl Borrow<StructureRef> for Structure
source§fn borrow(&self) -> &StructureRef
fn borrow(&self) -> &StructureRef
source§impl BorrowMut<StructureRef> for Structure
impl BorrowMut<StructureRef> for Structure
source§fn borrow_mut(&mut self) -> &mut StructureRef
fn borrow_mut(&mut self) -> &mut StructureRef
source§impl Deref for Structure
impl Deref for Structure
§type Target = StructureRef
type Target = StructureRef
source§fn deref(&self) -> &StructureRef
fn deref(&self) -> &StructureRef
source§impl DerefMut for Structure
impl DerefMut for Structure
source§fn deref_mut(&mut self) -> &mut StructureRef
fn deref_mut(&mut self) -> &mut StructureRef
source§impl<'de> Deserialize<'de> for Structure
impl<'de> Deserialize<'de> for Structure
source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
source§impl Extend<Structure> for CapsRef
impl Extend<Structure> for CapsRef
source§fn extend<T: IntoIterator<Item = Structure>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = Structure>>(&mut self, iter: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl FromGlibPtrBorrow<*const GstStructure> for Structure
impl FromGlibPtrBorrow<*const GstStructure> for Structure
source§unsafe fn from_glib_borrow(ptr: *const GstStructure) -> Borrowed<Self>
unsafe fn from_glib_borrow(ptr: *const GstStructure) -> Borrowed<Self>
source§impl FromGlibPtrBorrow<*mut GstStructure> for Structure
impl FromGlibPtrBorrow<*mut GstStructure> for Structure
source§unsafe fn from_glib_borrow(ptr: *mut GstStructure) -> Borrowed<Self>
unsafe fn from_glib_borrow(ptr: *mut GstStructure) -> Borrowed<Self>
source§impl FromGlibPtrFull<*const GstStructure> for Structure
impl FromGlibPtrFull<*const GstStructure> for Structure
source§unsafe fn from_glib_full(ptr: *const GstStructure) -> Self
unsafe fn from_glib_full(ptr: *const GstStructure) -> Self
source§impl FromGlibPtrFull<*mut GstStructure> for Structure
impl FromGlibPtrFull<*mut GstStructure> for Structure
source§unsafe fn from_glib_full(ptr: *mut GstStructure) -> Self
unsafe fn from_glib_full(ptr: *mut GstStructure) -> Self
source§impl FromGlibPtrNone<*const GstStructure> for Structure
impl FromGlibPtrNone<*const GstStructure> for Structure
source§unsafe fn from_glib_none(ptr: *const GstStructure) -> Self
unsafe fn from_glib_none(ptr: *const GstStructure) -> Self
source§impl FromGlibPtrNone<*mut GstStructure> for Structure
impl FromGlibPtrNone<*mut GstStructure> for Structure
source§unsafe fn from_glib_none(ptr: *mut GstStructure) -> Self
unsafe fn from_glib_none(ptr: *mut GstStructure) -> Self
source§impl FromIterator<Structure> for Caps
impl FromIterator<Structure> for Caps
source§impl<'a> FromValue<'a> for Structure
impl<'a> FromValue<'a> for Structure
§type Checker = GenericValueTypeOrNoneChecker<Structure>
type Checker = GenericValueTypeOrNoneChecker<Structure>
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moresource§impl GlibPtrDefault for Structure
impl GlibPtrDefault for Structure
type GlibType = *mut GstStructure
source§impl IntoGlibPtr<*mut GstStructure> for Structure
impl IntoGlibPtr<*mut GstStructure> for Structure
source§unsafe fn into_glib_ptr(self) -> *mut GstStructure
unsafe fn into_glib_ptr(self) -> *mut GstStructure
source§impl PartialEq<Structure> for StructureRef
impl PartialEq<Structure> for StructureRef
source§impl PartialEq<StructureRef> for Structure
impl PartialEq<StructureRef> for Structure
source§impl StaticType for Structure
impl StaticType for Structure
source§fn static_type() -> Type
fn static_type() -> Type
Self
.source§impl<'a> ToGlibPtr<'a, *const GstStructure> for Structure
impl<'a> ToGlibPtr<'a, *const GstStructure> for Structure
type Storage = PhantomData<&'a Structure>
source§fn to_glib_none(&'a self) -> Stash<'a, *const GstStructure, Self>
fn to_glib_none(&'a self) -> Stash<'a, *const GstStructure, Self>
source§fn to_glib_full(&self) -> *const GstStructure
fn to_glib_full(&self) -> *const GstStructure
source§fn to_glib_container(&'a self) -> Stash<'a, P, Self>
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
source§impl<'a> ToGlibPtr<'a, *mut GstStructure> for Structure
impl<'a> ToGlibPtr<'a, *mut GstStructure> for Structure
type Storage = PhantomData<&'a Structure>
source§fn to_glib_none(&'a self) -> Stash<'a, *mut GstStructure, Self>
fn to_glib_none(&'a self) -> Stash<'a, *mut GstStructure, Self>
source§fn to_glib_full(&self) -> *mut GstStructure
fn to_glib_full(&self) -> *mut GstStructure
source§fn to_glib_container(&'a self) -> Stash<'a, P, Self>
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
source§impl<'a> ToGlibPtrMut<'a, *mut GstStructure> for Structure
impl<'a> ToGlibPtrMut<'a, *mut GstStructure> for Structure
type Storage = PhantomData<&'a mut Structure>
source§fn to_glib_none_mut(&'a mut self) -> StashMut<'_, *mut GstStructure, Self>
fn to_glib_none_mut(&'a mut self) -> StashMut<'_, *mut GstStructure, Self>
source§impl ToValueOptional for Structure
impl ToValueOptional for Structure
source§fn to_value_optional(s: Option<&Self>) -> Value
fn to_value_optional(s: Option<&Self>) -> Value
Option
to a Value
.impl Eq for Structure
impl Send for Structure
impl Sync for Structure
impl TransparentPtrType for Structure
impl ValueTypeOptional for Structure
Auto Trait Implementations§
impl Freeze for Structure
impl RefUnwindSafe for Structure
impl Unpin for Structure
impl UnwindSafe for Structure
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
source§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 moresource§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.