pub struct RowSetter<D, T, S>where
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, T, S> RowSetter<D, T, S>
impl<D, T, S> RowSetter<D, T, S>
Sourcepub fn new(rect: Rect, _: (D, usize), storage: &mut S) -> RowSetter<D, T, S>
pub fn new(rect: Rect, _: (D, usize), storage: &mut S) -> RowSetter<D, T, S>
Construct
Argument order is consistent with other RulesSetter
s.
rect
: theRect
within which to position children(direction, len)
: direction and number of itemsstorage
: access to the solver’s storage
Sourcepub fn new_unsolved(
rect: Rect,
_: (D, usize),
storage: &mut S,
) -> RowSetter<D, T, S>
pub fn new_unsolved( rect: Rect, _: (D, usize), storage: &mut S, ) -> RowSetter<D, T, S>
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, T, S> RulesSetter for RowSetter<D, T, S>
impl<D, T, S> RulesSetter for RowSetter<D, T, S>
Source§type ChildInfo = usize
type ChildInfo = usize
Type required by
RulesSolver::for_child
(see implementation documentation)Source§fn child_rect(
&mut self,
storage: &mut <RowSetter<D, T, S> as RulesSetter>::Storage,
index: <RowSetter<D, T, S> as RulesSetter>::ChildInfo,
) -> Rect
fn child_rect( &mut self, storage: &mut <RowSetter<D, T, S> as RulesSetter>::Storage, index: <RowSetter<D, T, S> as RulesSetter>::ChildInfo, ) -> Rect
Called once for each child. The order is unimportant.
Source§fn maximal_rect_of(
&mut self,
storage: &mut <RowSetter<D, T, S> as RulesSetter>::Storage,
index: <RowSetter<D, T, S> as RulesSetter>::ChildInfo,
) -> Rect
fn maximal_rect_of( &mut self, storage: &mut <RowSetter<D, T, S> as RulesSetter>::Storage, index: <RowSetter<D, T, S> as RulesSetter>::ChildInfo, ) -> Rect
Calculates the maximal rect of a given child Read more
Auto Trait Implementations§
impl<D, T, S> Freeze for RowSetter<D, T, S>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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
.Source§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
.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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