pub struct GridBuilder { /* private fields */ }Expand description
Builder for applying validated bulk edits to a new Grid.
Implementations§
Source§impl GridBuilder
impl GridBuilder
Sourcepub const fn new(width: usize, height: usize) -> GridBuilder
pub const fn new(width: usize, height: usize) -> GridBuilder
Queues edits for a width×height grid; dimensions are validated on Self::build.
Starts fully open with unit traversal costs. Call Self::index_reachability
if the built grid should short-circuit disconnected start/goal pairs.
Sourcepub fn blocked<I, P>(self, points: I) -> GridBuilder
pub fn blocked<I, P>(self, points: I) -> GridBuilder
Marks all supplied cells as blocked.
Sourcepub fn open<I, P>(self, points: I) -> GridBuilder
pub fn open<I, P>(self, points: I) -> GridBuilder
Marks all supplied cells as open.
Sourcepub fn costs<I, P>(self, costs: I) -> GridBuilder
pub fn costs<I, P>(self, costs: I) -> GridBuilder
Sets traversal costs from (point, cost) pairs.
Sourcepub const fn index_reachability(self) -> GridBuilder
pub const fn index_reachability(self) -> GridBuilder
Builds a reachability index after all edits have been applied.
Sourcepub fn build(self) -> Result<Grid, GridBuildError>
pub fn build(self) -> Result<Grid, GridBuildError>
Builds the grid and validates every queued edit in insertion order.
§Errors
Returns GridBuildError for invalid dimensions, allocation failure,
or an invalid queued edit.
Trait Implementations§
Source§impl Clone for GridBuilder
impl Clone for GridBuilder
Source§fn clone(&self) -> GridBuilder
fn clone(&self) -> GridBuilder
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 Debug for GridBuilder
impl Debug for GridBuilder
impl Eq for GridBuilder
Source§impl PartialEq for GridBuilder
impl PartialEq for GridBuilder
impl StructuralPartialEq for GridBuilder
Auto Trait Implementations§
impl Freeze for GridBuilder
impl RefUnwindSafe for GridBuilder
impl Send for GridBuilder
impl Sync for GridBuilder
impl Unpin for GridBuilder
impl UnsafeUnpin for GridBuilder
impl UnwindSafe for GridBuilder
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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> 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