Expand description
A dumb tree structure representing a book.
For the moment a book is just a collection of BookItems
which are
accessible by either iterating (immutably) over the book with iter()
, or
recursively applying a closure to each section to mutate the chapters, using
for_each_mut()
.
Fields
sections: Vec<BookItem>
The sections in this book.
Implementations
sourceimpl Book
impl Book
sourcepub fn iter(&self) -> BookItems<'_>ⓘNotable traits for BookItems<'a>impl<'a> Iterator for BookItems<'a> type Item = &'a BookItem;
pub fn iter(&self) -> BookItems<'_>ⓘNotable traits for BookItems<'a>impl<'a> Iterator for BookItems<'a> type Item = &'a BookItem;
Get a depth-first iterator over the items in the book.
sourcepub fn for_each_mut<F>(&mut self, func: F) where
F: FnMut(&mut BookItem),
pub fn for_each_mut<F>(&mut self, func: F) where
F: FnMut(&mut BookItem),
Recursively apply a closure to each item in the book, allowing you to mutate them.
Note
Unlike the iter()
method, this requires a closure instead of returning
an iterator. This is because using iterators can possibly allow you
to have iterator invalidation errors.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Book
impl<'de> Deserialize<'de> for Book
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Book
Auto Trait Implementations
impl RefUnwindSafe for Book
impl Send for Book
impl Sync for Book
impl Unpin for Book
impl UnwindSafe for Book
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more