Struct EnumClass
pub struct EnumClass(/* private fields */);Expand description
Representation of an enum for dynamically, at runtime, querying the values of the enum and
using them.
Implementations§
§impl EnumClass
impl EnumClass
pub fn new<T>() -> EnumClass
pub fn new<T>() -> EnumClass
Create a new EnumClass from a static type T.
Panics if T is not representing an enum.
pub fn with_type(type_: Type) -> Option<EnumClass>
pub fn with_type(type_: Type) -> Option<EnumClass>
Create a new EnumClass from a Type.
Returns None if type_ is not representing an enum.
pub fn value(&self, value: i32) -> Option<&EnumValue>
pub fn value(&self, value: i32) -> Option<&EnumValue>
Gets EnumValue by integer value, if existing.
Returns None if the enum does not contain any value
with value.
pub fn value_by_name(&self, name: &str) -> Option<&EnumValue>
pub fn value_by_name(&self, name: &str) -> Option<&EnumValue>
Gets EnumValue by string name name, if existing.
Returns None if the enum does not contain any value
with name name.
pub fn value_by_nick(&self, nick: &str) -> Option<&EnumValue>
pub fn value_by_nick(&self, nick: &str) -> Option<&EnumValue>
Gets EnumValue by string nick nick, if existing.
Returns None if the enum does not contain any value
with nick nick.
pub fn to_value(&self, value: i32) -> Option<Value>
pub fn to_value(&self, value: i32) -> Option<Value>
Converts integer value to a Value, if part of the enum.
pub fn to_value_by_name(&self, name: &str) -> Option<Value>
pub fn to_value_by_name(&self, name: &str) -> Option<Value>
Converts string name name to a Value, if part of the enum.
pub fn to_value_by_nick(&self, nick: &str) -> Option<Value>
pub fn to_value_by_nick(&self, nick: &str) -> Option<Value>
Converts string nick nick to a Value, if part of the enum.
pub fn complete_type_info(
type_: Type,
const_static_values: &'static EnumerationValues<EnumValue>,
) -> Option<TypeInfo>
pub fn complete_type_info( type_: Type, const_static_values: &'static EnumerationValues<EnumValue>, ) -> Option<TypeInfo>
Complete TypeInfo for an enum with values.
This is an associated function. A method would result in a stack overflow due to a recurvice call:
callers should first create an EnumClass instance by calling EnumClass::with_type() which indirectly
calls TypePluginRegisterImpl::register_dynamic_enum() and TypePluginImpl::complete_type_info()
and one of them should call EnumClass::with_type() before calling this method.
const_static_values is a reference on a wrapper of a slice of EnumValue.
It must be static to ensure enumeration values are never dropped, and ensures that slice is terminated
by an EnumValue with all members being 0, as expected by GLib.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EnumClass
impl RefUnwindSafe for EnumClass
impl Unpin for EnumClass
impl UnwindSafe for EnumClass
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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 more