pub struct BlocksBuilder(pub Vec<Block>);Expand description
A convenient wrapper around a vector of blocks. This is used instead of id_arena, since the latter is harder to clone and modify.
Tuple Fields§
§0: Vec<Block>Implementations§
Source§impl BlocksBuilder
impl BlocksBuilder
pub fn new() -> Self
pub fn alloc(&mut self, block: Block) -> BlockId
Sourcepub fn alloc_empty(&mut self) -> BlockId
pub fn alloc_empty(&mut self) -> BlockId
Allocate a new block ID. The block itself should be populated later.
Sourcepub fn get_mut_block(&mut self, id: BlockId) -> &mut Block
pub fn get_mut_block(&mut self, id: BlockId) -> &mut Block
Returns a mutable reference to an already-allocated block.
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn build(self) -> Option<Blocks>
Trait Implementations§
Source§impl Clone for BlocksBuilder
impl Clone for BlocksBuilder
Source§fn clone(&self) -> BlocksBuilder
fn clone(&self) -> BlocksBuilder
Returns a duplicate of the value. Read more
1.0.0 · 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 BlocksBuilder
impl Debug for BlocksBuilder
Source§impl Default for BlocksBuilder
impl Default for BlocksBuilder
Source§fn default() -> BlocksBuilder
fn default() -> BlocksBuilder
Returns the “default value” for a type. Read more
Source§impl PartialEq for BlocksBuilder
impl PartialEq for BlocksBuilder
impl Eq for BlocksBuilder
impl StructuralPartialEq for BlocksBuilder
Auto Trait Implementations§
impl Freeze for BlocksBuilder
impl RefUnwindSafe for BlocksBuilder
impl Send for BlocksBuilder
impl Sync for BlocksBuilder
impl Unpin for BlocksBuilder
impl UnwindSafe for BlocksBuilder
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