#[repr(transparent)]pub struct Structure(NonNull<GstStructure>);
Tuple Fields§
§0: NonNull<GstStructure>
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 value
if the predicate
evaluates to true
.
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 value
if the predicate
evaluates to true
.
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 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
Source§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 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
Source§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<'a, *mut GstStructure, Self>
fn to_glib_none_mut(&'a mut self) -> StashMut<'a, *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§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>,
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>,
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>,
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>,
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>,
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>,
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
.