pub struct CompoundScalarEdit<S> {
pub descriptor_index: usize,
pub entity_index: usize,
pub variable_index: usize,
pub variable_name: &'static str,
pub to_value: Option<usize>,
/* private fields */
}Expand description
One edit in a grouped scalar move.
The static form keeps the existing direct function pointers. The dynamic form carries the already-bound dynamic slot, so move execution never needs a thread-local group name or a schema lookup.
Fields§
§descriptor_index: usize§entity_index: usize§variable_index: usize§variable_name: &'static str§to_value: Option<usize>Implementations§
Source§impl<S> CompoundScalarEdit<S>
impl<S> CompoundScalarEdit<S>
pub fn static_edit( descriptor_index: usize, entity_index: usize, variable_index: usize, variable_name: &'static str, to_value: Option<usize>, getter: fn(&S, usize, usize) -> Option<usize>, setter: fn(&mut S, usize, usize, Option<usize>), value_is_legal: Option<fn(&S, usize, usize, Option<usize>) -> bool>, ) -> Self
pub fn dynamic_edit( descriptor_index: usize, entity_index: usize, variable_index: usize, variable_name: &'static str, to_value: Option<usize>, slot: DynamicScalarVariableSlot<S>, ) -> Self
pub fn with_value_is_legal( self, value_is_legal: fn(&S, usize, usize, Option<usize>) -> bool, ) -> Self
Trait Implementations§
Source§impl<S> Clone for CompoundScalarEdit<S>
impl<S> Clone for CompoundScalarEdit<S>
Auto Trait Implementations§
impl<S> !RefUnwindSafe for CompoundScalarEdit<S>
impl<S> !UnwindSafe for CompoundScalarEdit<S>
impl<S> Freeze for CompoundScalarEdit<S>
impl<S> Send for CompoundScalarEdit<S>
impl<S> Sync for CompoundScalarEdit<S>
impl<S> Unpin for CompoundScalarEdit<S>
impl<S> UnsafeUnpin for CompoundScalarEdit<S>
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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 more