pub struct Each<U, Iterator: IntoIterator<Item = U>> {
pub items: Iterator,
}
A list of items that can be appended into a Document
. For each item in
items
, the callback is invoked, and its return value is appended to
the document.
struct Point(i32, i32);
let items = vec![Point(10, 20), Point(5, 10), Point(6, 42)];
let document = Document::with(Each(
&items,
|item, doc| doc.add(Line("Point(".add(item.0).add(",").add(item.1).add(")")))
));
assert_eq!(document.to_string()?, "Point(10,20)\nPoint(5,10)\nPoint(6,42)\n");
And with the tree!
macro:
struct Point(i32, i32);
let items = vec![Point(10, 20), Point(5, 10), Point(6, 42)];
let document = tree! {
<Each items={items} as |item| {
<Line as {
"Point(" {item.0} "," {item.1} ")"
}>
}>
};
assert_eq!(document.to_string()?, "Point(10,20)\nPoint(5,10)\nPoint(6,42)\n");
impl<U, Iterator> Send for Each<U, Iterator> where Iterator: Send, | |
impl<U, Iterator> Sync for Each<U, Iterator> where Iterator: Sync, | |
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static