Struct gtk::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]
pub fn from_type(type_: Type) -> Value
[src]
Creates a new Value
that is initialized with type_
pub fn downcast<'a, T>(self) -> Result<TypedValue<T>, Value> where
T: FromValueOptional<'a> + SetValue,
[src]
T: FromValueOptional<'a> + SetValue,
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 get<'a, T>(&'a self) -> Option<T> where
T: FromValueOptional<'a>,
[src]
T: FromValueOptional<'a>,
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>(&self) -> bool where
T: FromValueOptional<'a> + SetValue,
[src]
T: FromValueOptional<'a> + SetValue,
Returns true
if the type of the value corresponds to T
or is a sub-type of T
.
pub fn type_(&self) -> Type
[src]
Returns the type of the value.
pub fn type_transformable(src: Type, dst: Type) -> bool
[src]
Returns whether Value
s of type src
can be transformed to type dst
.
pub fn try_into_send_value<'a, T>(self) -> Result<SendValue, Value> where
T: FromValueOptional<'a> + SetValue + Send,
[src]
T: FromValueOptional<'a> + SetValue + Send,
Trait Implementations
impl<'a> ToGlibPtrMut<'a, *mut GValue> for Value
[src]
type Storage = &'a mut Value
fn to_glib_none_mut(&'a mut self) -> StashMut<'a, *mut GValue, Value>
[src]
Transfer: none. Read more
impl<'a> ToGlibContainerFromSlice<'a, *mut GValue> for &'a Value
[src]
type Storage = &'a [&'a Value]
fn to_glib_none_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])
[src]
t: &'a [&'a Value]
) -> (*mut GValue, &'a [&'a Value])
fn to_glib_full_from_slice(t: &[&'a Value]) -> *mut GValue
[src]
impl<'a> ToGlibContainerFromSlice<'a, *const GValue> for &'a Value
[src]
type Storage = &'a [&'a Value]
fn to_glib_none_from_slice(
t: &'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
[src]
t: &'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
fn to_glib_container_from_slice(
&'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
[src]
&'a [&'a Value]
) -> (*const GValue, &'a [&'a Value])
fn to_glib_full_from_slice(&[&'a Value]) -> *const GValue
[src]
impl FromGlibPtrFull<*mut GValue> for Value
[src]
unsafe fn from_glib_full(ptr: *mut GValue) -> Value
[src]
impl Debug for Value
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
Formats the value using the given formatter. Read more
impl<'a, T> From<&'a T> for Value where
T: SetValue + ?Sized,
[src]
T: SetValue + ?Sized,
impl From<SendValue> for Value
[src]
impl<T> From<TypedValue<T>> for Value
[src]
fn from(value: TypedValue<T>) -> Value
[src]
Performs the conversion.
impl<'a, T> From<Option<&'a T>> for Value where
T: SetValueOptional + ?Sized,
[src]
T: SetValueOptional + ?Sized,
impl FromGlibPtrArrayContainerAsVec<*mut GValue, *mut *mut GValue> for Value
[src]
unsafe fn from_glib_none_as_vec(ptr: *mut *mut GValue) -> Vec<Value>
[src]
unsafe fn from_glib_container_as_vec(ptr: *mut *mut GValue) -> Vec<Value>
[src]
unsafe fn from_glib_full_as_vec(ptr: *mut *mut GValue) -> Vec<Value>
[src]
impl FromGlibPtrArrayContainerAsVec<*mut GValue, *const *mut GValue> for Value
[src]
unsafe fn from_glib_none_as_vec(ptr: *const *mut GValue) -> Vec<Value>
[src]
unsafe fn from_glib_container_as_vec(*const *mut GValue) -> Vec<Value>
[src]
unsafe fn from_glib_full_as_vec(*const *mut GValue) -> Vec<Value>
[src]
impl Uninitialized for Value
[src]
unsafe fn uninitialized() -> Value
[src]
Returns an uninitialized value.
impl Clone for Value
[src]
fn clone(&self) -> Value
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'a> ToGlibPtr<'a, *const GValue> for Value
[src]
type Storage = &'a Value
fn to_glib_none(&'a self) -> Stash<'a, *const GValue, Value>
[src]
Transfer: none. Read more
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
[src]
Transfer: container. Read more
fn to_glib_full(&self) -> P
[src]
Transfer: full. Read more
impl FromGlibPtrNone<*const GValue> for Value
[src]
unsafe fn from_glib_none(ptr: *const GValue) -> Value
[src]
impl FromGlibPtrNone<*mut GValue> for Value
[src]
unsafe fn from_glib_none(ptr: *mut GValue) -> Value
[src]
impl ToValue for Value
[src]
fn to_value(&self) -> Value
[src]
Returns a Value
clone of self
.
fn to_value_type(&self) -> Type
[src]
Returns the type identifer of self
. Read more
impl Drop for Value
[src]
impl FromGlibContainerAsVec<*mut GValue, *mut *mut GValue> for Value
[src]
unsafe fn from_glib_none_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Value>
[src]
ptr: *mut *mut GValue,
num: usize
) -> Vec<Value>
unsafe fn from_glib_container_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Value>
[src]
ptr: *mut *mut GValue,
num: usize
) -> Vec<Value>
unsafe fn from_glib_full_num_as_vec(
ptr: *mut *mut GValue,
num: usize
) -> Vec<Value>
[src]
ptr: *mut *mut GValue,
num: usize
) -> Vec<Value>