pub struct Pillar {
pub entities: Vec<EntityReference>,
}Expand description
A pillar is a group of entity references that share the same variable value.
All entities in a pillar have the same value for a specific planning variable, which allows them to be moved together atomically.
Fields§
§entities: Vec<EntityReference>The entity references in this pillar.
Implementations§
Source§impl Pillar
impl Pillar
Sourcepub fn new(entities: Vec<EntityReference>) -> Self
pub fn new(entities: Vec<EntityReference>) -> Self
Creates a new pillar with the given entities.
Sourcepub fn first(&self) -> Option<&EntityReference>
pub fn first(&self) -> Option<&EntityReference>
Returns the first entity reference in this pillar.
Sourcepub fn iter(&self) -> impl Iterator<Item = &EntityReference>
pub fn iter(&self) -> impl Iterator<Item = &EntityReference>
Returns an iterator over the entity references.
Trait Implementations§
impl Eq for Pillar
impl StructuralPartialEq for Pillar
Auto Trait Implementations§
impl Freeze for Pillar
impl RefUnwindSafe for Pillar
impl Send for Pillar
impl Sync for Pillar
impl Unpin for Pillar
impl UnwindSafe for Pillar
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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