Struct glib::value::Value [−][src]
#[repr(C)]pub struct Value(_, _);
A generic value capable of carrying various types.
Once created the type of the value can't be changed.
Some types (e.g. String
and objects) support None
values while others
(e.g. numeric types) don't.
Value
does not implement the Send
trait, but SendValue
can be
used instead.
See the module documentation for more details.
Methods
impl Value
[src]
impl Value
pub fn from_type(type_: Type) -> Self
[src]
pub fn from_type(type_: Type) -> Self
Creates a new Value
that is initialized with type_
pub fn downcast<'a, T: FromValueOptional<'a> + SetValue>(
self
) -> Result<TypedValue<T>, Self>
[src]
pub fn downcast<'a, T: FromValueOptional<'a> + SetValue>(
self
) -> Result<TypedValue<T>, Self>
Tries to downcast to a TypedValue
.
Returns Ok(TypedValue<T>)
if the value carries a type corresponding
to T
and Err(self)
otherwise.
pub fn downcast_ref<'a, T: FromValueOptional<'a> + SetValue>(
&self
) -> Option<&TypedValue<T>>
[src]
pub fn downcast_ref<'a, T: FromValueOptional<'a> + SetValue>(
&self
) -> Option<&TypedValue<T>>
Tries to downcast to a &TypedValue
.
Returns Some(&TypedValue<T>)
if the value carries a type corresponding
to T
and None
otherwise.
pub fn get<'a, T: FromValueOptional<'a>>(&'a self) -> Option<T>
[src]
pub fn get<'a, T: FromValueOptional<'a>>(&'a self) -> Option<T>
Tries to get a value of type T
.
Returns Some
if the type is correct and the value is not None
.
This function doesn't distinguish between type mismatches and correctly
typed None
values. Use downcast
or is
for that.
pub fn is<'a, T: FromValueOptional<'a> + SetValue>(&self) -> bool
[src]
pub fn is<'a, T: FromValueOptional<'a> + SetValue>(&self) -> bool
Returns true
if the type of the value corresponds to T
or is a sub-type of T
.
pub fn type_(&self) -> Type
[src]
pub fn type_(&self) -> Type
Returns the type of the value.
pub fn type_transformable(src: Type, dst: Type) -> bool
[src]
pub fn type_transformable(src: Type, dst: Type) -> bool
Returns whether Value
s of type src
can be transformed to type dst
.
pub fn try_into_send_value<'a, T: Send + FromValueOptional<'a> + SetValue>(
self
) -> Result<SendValue, Self>
[src]
pub fn try_into_send_value<'a, T: Send + FromValueOptional<'a> + SetValue>(
self
) -> Result<SendValue, Self>
Trait Implementations
impl Clone for Value
[src]
impl Clone for Value
fn clone(&self) -> Self
[src]
fn clone(&self) -> Self
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Drop for Value
[src]
impl Drop for Value
impl Debug for Value
[src]
impl Debug for Value
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<'a, T: ?Sized + SetValueOptional> From<Option<&'a T>> for Value
[src]
impl<'a, T: ?Sized + SetValueOptional> From<Option<&'a T>> for Value
impl<'a, T: ?Sized + SetValue> From<&'a T> for Value
[src]
impl<'a, T: ?Sized + SetValue> From<&'a T> for Value
impl<T> From<TypedValue<T>> for Value
[src]
impl<T> From<TypedValue<T>> for Value
fn from(value: TypedValue<T>) -> Self
[src]
fn from(value: TypedValue<T>) -> Self
Performs the conversion.
impl From<SendValue> for Value
[src]
impl From<SendValue> for Value
impl Uninitialized for Value
[src]
impl Uninitialized for Value
unsafe fn uninitialized() -> Value
[src]
unsafe fn uninitialized() -> Value
Returns an uninitialized value.
impl<'a> ToGlibPtr<'a, *const GValue> for Value
[src]
impl<'a> ToGlibPtr<'a, *const GValue> for Value
type Storage = &'a Value
fn to_glib_none(&'a self) -> Stash<'a, *const GValue, Self>
[src]
fn to_glib_none(&'a self) -> Stash<'a, *const GValue, Self>
Transfer: none. Read more
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
Transfer: container. Read more
fn to_glib_full(&self) -> P
[src]
fn to_glib_full(&self) -> P
Transfer: full. Read more
impl<'a> ToGlibPtrMut<'a, *mut GValue> for Value
[src]
impl<'a> ToGlibPtrMut<'a, *mut GValue> for Value
type Storage = &'a mut Value
fn to_glib_none_mut(&'a mut self) -> StashMut<'a, *mut GValue, Self>
[src]
fn to_glib_none_mut(&'a mut self) -> StashMut<'a, *mut GValue, Self>
Transfer: none. Read more
impl<'a> ToGlibContainerFromSlice<'a, *mut GValue> for &'a Value
[src]
impl<'a> ToGlibContainerFromSlice<'a, *mut GValue> for &'a Value
type Storage = &'a [&'a Value]
fn to_glib_none_from_slice(t: &'a [&'a Value]) -> (*mut GValue, &'a [&'a Value])
[src]
fn to_glib_none_from_slice(t: &'a [&'a Value]) -> (*mut GValue, &'a [&'a Value])
fn to_glib_container_from_slice(
t: &'a [&'a Value]
) -> (*mut GValue, &'a [&'a Value])
[src]
fn to_glib_container_from_slice(
t: &'a [&'a Value]
) -> (*mut GValue, &'a [&'a Value])
fn to_glib_full_from_slice(t: &[&'a Value]) -> *mut GValue
[src]
fn to_glib_full_from_slice(t: &[&'a Value]) -> *mut GValue
impl<'a> ToGlibContainerFromSlice<'a, *const GValue> for &'a Value
[src]
impl<'a> ToGlibContainerFromSlice<'a, *const GValue> for &'a Value
type Storage = &'a [&'a Value]
fn to_glib_none_from_slice(
t: &'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
[src]
fn to_glib_none_from_slice(
t: &'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
fn to_glib_container_from_slice(
_: &'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
[src]
fn to_glib_container_from_slice(
_: &'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
fn to_glib_full_from_slice(_: &[&'a Value]) -> *const GValue
[src]
fn to_glib_full_from_slice(_: &[&'a Value]) -> *const GValue
impl FromGlibPtrNone<*const GValue> for Value
[src]
impl FromGlibPtrNone<*const GValue> for Value
unsafe fn from_glib_none(ptr: *const GValue) -> Self
[src]
unsafe fn from_glib_none(ptr: *const GValue) -> Self
impl FromGlibPtrNone<*mut GValue> for Value
[src]
impl FromGlibPtrNone<*mut GValue> for Value
unsafe fn from_glib_none(ptr: *mut GValue) -> Self
[src]
unsafe fn from_glib_none(ptr: *mut GValue) -> Self
impl FromGlibPtrFull<*mut GValue> for Value
[src]
impl FromGlibPtrFull<*mut GValue> for Value
unsafe fn from_glib_full(ptr: *mut GValue) -> Self
[src]
unsafe fn from_glib_full(ptr: *mut GValue) -> Self
impl FromGlibContainerAsVec<*mut GValue, *mut *mut GValue> for Value
[src]
impl FromGlibContainerAsVec<*mut GValue, *mut *mut GValue> for Value
unsafe fn from_glib_none_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Self>
[src]
unsafe fn from_glib_none_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Self>
unsafe fn from_glib_container_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Self>
[src]
unsafe fn from_glib_container_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Self>
unsafe fn from_glib_full_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Self>
[src]
unsafe fn from_glib_full_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Self>
impl FromGlibPtrArrayContainerAsVec<*mut GValue, *mut *mut GValue> for Value
[src]
impl FromGlibPtrArrayContainerAsVec<*mut GValue, *mut *mut GValue> for Value
unsafe fn from_glib_none_as_vec(ptr: *mut *mut GValue) -> Vec<Self>
[src]
unsafe fn from_glib_none_as_vec(ptr: *mut *mut GValue) -> Vec<Self>
unsafe fn from_glib_container_as_vec(ptr: *mut *mut GValue) -> Vec<Self>
[src]
unsafe fn from_glib_container_as_vec(ptr: *mut *mut GValue) -> Vec<Self>
unsafe fn from_glib_full_as_vec(ptr: *mut *mut GValue) -> Vec<Self>
[src]
unsafe fn from_glib_full_as_vec(ptr: *mut *mut GValue) -> Vec<Self>
impl FromGlibContainerAsVec<*mut GValue, *const *mut GValue> for Value
[src]
impl FromGlibContainerAsVec<*mut GValue, *const *mut GValue> for Value
unsafe fn from_glib_none_num_as_vec(
ptr: *const *mut GValue,
num: usize
) -> Vec<Self>
[src]
unsafe fn from_glib_none_num_as_vec(
ptr: *const *mut GValue,
num: usize
) -> Vec<Self>
unsafe fn from_glib_container_num_as_vec(
_: *const *mut GValue,
_: usize
) -> Vec<Self>
[src]
unsafe fn from_glib_container_num_as_vec(
_: *const *mut GValue,
_: usize
) -> Vec<Self>
unsafe fn from_glib_full_num_as_vec(
_: *const *mut GValue,
_: usize
) -> Vec<Self>
[src]
unsafe fn from_glib_full_num_as_vec(
_: *const *mut GValue,
_: usize
) -> Vec<Self>
impl FromGlibPtrArrayContainerAsVec<*mut GValue, *const *mut GValue> for Value
[src]
impl FromGlibPtrArrayContainerAsVec<*mut GValue, *const *mut GValue> for Value
unsafe fn from_glib_none_as_vec(ptr: *const *mut GValue) -> Vec<Self>
[src]
unsafe fn from_glib_none_as_vec(ptr: *const *mut GValue) -> Vec<Self>
unsafe fn from_glib_container_as_vec(_: *const *mut GValue) -> Vec<Self>
[src]
unsafe fn from_glib_container_as_vec(_: *const *mut GValue) -> Vec<Self>
unsafe fn from_glib_full_as_vec(_: *const *mut GValue) -> Vec<Self>
[src]
unsafe fn from_glib_full_as_vec(_: *const *mut GValue) -> Vec<Self>
impl ToValue for Value
[src]
impl ToValue for Value