pub struct RowSetter<D, T: RowTemp, S: RowStorage> { /* private fields */ }Expand description
A RulesSetter for rows (and, without loss of generality, for columns).
This is parameterised over:
D:Directional— whether this represents a row or a columnT:RowTemp— temporary storage typeS:RowStorage— persistent storage type
Implementations§
source§impl<D: Directional, T: RowTemp, S: RowStorage> RowSetter<D, T, S>
impl<D: Directional, T: RowTemp, S: RowStorage> RowSetter<D, T, S>
sourcepub fn new(rect: Rect, (direction, len): (D, usize), storage: &mut S) -> Self
pub fn new(rect: Rect, (direction, len): (D, usize), storage: &mut S) -> Self
Construct
Argument order is consistent with other RulesSetters.
rect: theRectwithin which to position children(direction, len): direction and number of itemsstorage: access to the solver’s storage
sourcepub fn new_unsolved(
rect: Rect,
(direction, len): (D, usize),
storage: &mut S
) -> Self
pub fn new_unsolved( rect: Rect, (direction, len): (D, usize), storage: &mut S ) -> Self
Construct without solving
In this case, it is assumed that the storage was already solved by a
previous RowSetter. The user should optionally call solve_range on
any ranges needing updating and finally call update_offsets before
using this RowSetter to calculate child positions.
pub fn update_offsets(&mut self, storage: &mut S)
pub fn solve_range(&mut self, storage: &mut S, range: Range<usize>, width: i32)
Trait Implementations§
source§impl<D: Directional, T: RowTemp, S: RowStorage> RulesSetter for RowSetter<D, T, S>
impl<D: Directional, T: RowTemp, S: RowStorage> RulesSetter for RowSetter<D, T, S>
§type ChildInfo = usize
type ChildInfo = usize
Type required by
RulesSolver::for_child (see implementation documentation)Auto Trait Implementations§
impl<D, T, S> RefUnwindSafe for RowSetter<D, T, S>
impl<D, T, S> Send for RowSetter<D, T, S>
impl<D, T, S> Sync for RowSetter<D, T, S>
impl<D, T, S> Unpin for RowSetter<D, T, S>
impl<D, T, S> UnwindSafe for RowSetter<D, T, 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<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.