pub trait ViewResultIteratorExt: Iterator + Sized {
type Item;
// Provided method
fn try_flatten(
self,
) -> Result<Vec<<Self as ViewResultIteratorExt>::Item>, ViewAccessError>
where Result<Vec<<Self as ViewResultIteratorExt>::Item>, ViewAccessError>: FromIterator<<Self as Iterator>::Item> { ... }
}Expand description
Extension trait providing convenience methods for iterators over Result<T, ViewAccessError>.
This trait is automatically implemented for any iterator yielding Result<T, ViewAccessError>,
such as the iterators returned by FromRecordBatch::from_record_batch.
Required Associated Types§
Provided Methods§
Sourcefn try_flatten(
self,
) -> Result<Vec<<Self as ViewResultIteratorExt>::Item>, ViewAccessError>where
Result<Vec<<Self as ViewResultIteratorExt>::Item>, ViewAccessError>: FromIterator<<Self as Iterator>::Item>,
fn try_flatten(
self,
) -> Result<Vec<<Self as ViewResultIteratorExt>::Item>, ViewAccessError>where
Result<Vec<<Self as ViewResultIteratorExt>::Item>, ViewAccessError>: FromIterator<<Self as Iterator>::Item>,
Flatten the Result iterator, returning all views or the first error.
This consumes the iterator and returns a Result containing either:
Ok(Vec<T>)with all successfully accessed viewsErr(ViewAccessError)with the first error encountered
§Errors
Returns the first ViewAccessError encountered while iterating.
§Example
use typed_arrow::prelude::*;
#[derive(Record)]
struct Row {
id: i32,
name: String,
}
// Returns all views or first error
let views = batch.iter_views::<Row>()?.try_flatten()?;
for row in views {
println!("{}: {}", row.id, row.name);
}Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
Source§impl<I, T> ViewResultIteratorExt for I
Available on crate feature views only.
impl<I, T> ViewResultIteratorExt for I
Available on crate feature
views only.