pub struct EnumProperty<T: PropertyEnum + 'static> {
pub name: &'static str,
pub possible_values: &'static [T],
comparison_values: &'static [T],
}Fields§
§name: &'static str§possible_values: &'static [T]§comparison_values: &'static [T]Implementations§
Source§impl<T: PropertyEnum> EnumProperty<T>
impl<T: PropertyEnum> EnumProperty<T>
Sourcepub const fn new(name: &'static str, possible_values: &'static [T]) -> Self
pub const fn new(name: &'static str, possible_values: &'static [T]) -> Self
Creates an enum property whose state and natural comparison orders match.
Sourcepub const fn with_comparison_order(
name: &'static str,
possible_values: &'static [T],
comparison_values: &'static [T],
) -> Self
pub const fn with_comparison_order( name: &'static str, possible_values: &'static [T], comparison_values: &'static [T], ) -> Self
Creates a property whose state order differs from the enum’s natural order.
comparison_values must contain every possible value in the order used
by the Vanilla enum’s Comparable implementation.
pub const fn value_count(&self) -> usize
Source§impl<T: PartialEq + PropertyEnum + 'static> EnumProperty<T>
impl<T: PartialEq + PropertyEnum + 'static> EnumProperty<T>
pub const fn get_internal_index_const(&self, value: &T) -> usize
Trait Implementations§
Source§impl<T: Clone + PropertyEnum + 'static> Clone for EnumProperty<T>
impl<T: Clone + PropertyEnum + 'static> Clone for EnumProperty<T>
Source§fn clone(&self) -> EnumProperty<T>
fn clone(&self) -> EnumProperty<T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug + PropertyEnum + 'static> Debug for EnumProperty<T>
impl<T: Debug + PropertyEnum + 'static> Debug for EnumProperty<T>
Source§impl<T: PropertyEnum + 'static> Property for EnumProperty<T>
impl<T: PropertyEnum + 'static> Property for EnumProperty<T>
type Value = T
fn value_count(&self) -> usize
fn value_name_from_index(&self, index: usize) -> &str
fn get_possible_value_names(&self) -> Box<[&str]>
fn get_name(&self) -> &'static str
Source§fn compare_value_names(&self, left: &str, right: &str) -> Option<Ordering>
fn compare_value_names(&self, left: &str, right: &str) -> Option<Ordering>
Parses and compares two serialized values using Vanilla’s
Comparable order.fn get_value(&self, value: &str) -> Option<Self::Value>
fn get_possible_values(&self) -> Box<[Self::Value]>
fn get_internal_index(&self, value: &Self::Value) -> usize
fn value_from_index(&self, index: usize) -> Self::Value
Auto Trait Implementations§
impl<T> Freeze for EnumProperty<T>
impl<T> RefUnwindSafe for EnumProperty<T>where
T: RefUnwindSafe,
impl<T> Send for EnumProperty<T>
impl<T> Sync for EnumProperty<T>
impl<T> Unpin for EnumProperty<T>
impl<T> UnsafeUnpin for EnumProperty<T>
impl<T> UnwindSafe for EnumProperty<T>where
T: RefUnwindSafe,
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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 moreWraps this value in an
Arc<SyncMutex<>>