Module value

Source
Expand description

Value binding and helper traits.

The type of a Value is dynamic in that it generally isn’t known at compile time but once created a Value can’t change its type.

SendValue is a version of Value that can only store types that implement Send and as such implements Send itself. It dereferences to Value so it can be used everywhere Value references are accepted.

Supported types are bool, i8, u8, i32, u32, i64, u64, f32, f64, String and objects (T: IsA<Object>).

§Examples

use glib::prelude::*; // or `use gtk::prelude::*;`
use glib::Value;

// Value implement From<&i32>, From<&str> and From<Option<&str>>.
// Another option is the `ToValue` trait.
let mut num = 10.to_value();
let mut hello = Value::from("Hello!");
let none: Option<&str> = None;
let str_none = none.to_value();

// `is` tests the type of the value.
assert!(num.is::<i32>());
assert!(hello.is::<String>());

// `get` tries to get an optional value of the specified type
// and returns an `Err` if the type doesn't match.
assert_eq!(num.get(), Ok(10));
assert!(num.get::<String>().is_err());
assert_eq!(hello.get(), Ok(String::from("Hello!")));
assert_eq!(hello.get::<String>(), Ok(String::from("Hello!")));
assert_eq!(str_none.get::<Option<String>>(), Ok(None));

Structs§

BoxedValue
A Value containing another Value.
CharTypeChecker
GenericValueTypeChecker
Generic Value type checker for types.
GenericValueTypeOrNoneChecker
Generic Value type checker for optional types.
NopChecker
SendValue
A version of Value for storing Send types, that implements Send itself.
Value
A generic value capable of carrying various types.
ValueTypeMismatchError
An error returned from the get function on a Value for non-optional types an Option.
ValueTypeOrNoneChecker
Wrapped Value type checker for optional types.

Enums§

InvalidCharError
An error returned from the get function on a Value for char (which are internally u32) types.
ValueTypeMismatchOrNoneError
An error returned from the get function on a Value for optional types.

Traits§

FromValue
Trait to retrieve the contained value from a Value.
FromValueOptional
Trait for types that implement FromValue and are Optional.
ToSendValue
Converts to SendValue.
ToValue
Trait to convert a value to a Value.
ToValueOptional
Trait to convert an Option to a Value for optional types.
ValueType
A type that can be stored in Values.
ValueTypeChecker
Trait for Value type checkers.
ValueTypeOptional
A type that can be stored in Values and is optional.