pub struct FsTreeBuilder<Data, GetData, Report>where
Data: Size + Send + Sync,
GetData: Fn(&Metadata) -> Data + Sync,
Report: Reporter<Data> + Sync,{
pub root: PathBuf,
pub get_data: GetData,
pub reporter: Report,
}
Expand description
Build a DataTree
from a directory tree using From
or Into
.
Example:
use parallel_disk_usage::{
data_tree::DataTree,
os_string_display::OsStringDisplay,
reporter::{ErrorOnlyReporter, ErrorReport},
size::Bytes,
size_getters::GET_APPARENT_SIZE,
};
let builder = FsTreeBuilder {
root: std::env::current_dir().unwrap(),
get_data: GET_APPARENT_SIZE,
reporter: ErrorOnlyReporter::new(ErrorReport::SILENT),
};
let data_tree: DataTree<OsStringDisplay, Bytes> = builder.into();
Fields§
§root: PathBuf
Root of the directory tree.
get_data: GetData
Returns size of an item.
reporter: Report
Reports progress to external system.
Trait Implementations§
source§impl<Data, GetData, Report> Debug for FsTreeBuilder<Data, GetData, Report>where
Data: Size + Send + Sync + Debug,
GetData: Fn(&Metadata) -> Data + Sync + Debug,
Report: Reporter<Data> + Sync + Debug,
impl<Data, GetData, Report> Debug for FsTreeBuilder<Data, GetData, Report>where Data: Size + Send + Sync + Debug, GetData: Fn(&Metadata) -> Data + Sync + Debug, Report: Reporter<Data> + Sync + Debug,
source§impl<Data, GetData, Report> From<FsTreeBuilder<Data, GetData, Report>> for DataTree<OsStringDisplay, Data>where
Data: Size + Send + Sync,
GetData: Fn(&Metadata) -> Data + Sync,
Report: Reporter<Data> + Sync,
impl<Data, GetData, Report> From<FsTreeBuilder<Data, GetData, Report>> for DataTree<OsStringDisplay, Data>where Data: Size + Send + Sync, GetData: Fn(&Metadata) -> Data + Sync, Report: Reporter<Data> + Sync,
source§fn from(builder: FsTreeBuilder<Data, GetData, Report>) -> Self
fn from(builder: FsTreeBuilder<Data, GetData, Report>) -> Self
Create a DataTree
from an FsTreeBuilder
.
Auto Trait Implementations§
impl<Data, GetData, Report> RefUnwindSafe for FsTreeBuilder<Data, GetData, Report>where GetData: RefUnwindSafe, Report: RefUnwindSafe,
impl<Data, GetData, Report> Send for FsTreeBuilder<Data, GetData, Report>where GetData: Send, Report: Send,
impl<Data, GetData, Report> Sync for FsTreeBuilder<Data, GetData, Report>
impl<Data, GetData, Report> Unpin for FsTreeBuilder<Data, GetData, Report>where GetData: Unpin, Report: Unpin,
impl<Data, GetData, Report> UnwindSafe for FsTreeBuilder<Data, GetData, Report>where GetData: UnwindSafe, Report: UnwindSafe,
Blanket Implementations§
source§impl<X> Pipe for X
impl<X> Pipe for X
source§fn pipe<Return, Function>(self, f: Function) -> Returnwhere
Self: Sized,
Function: FnOnce(Self) -> Return,
fn pipe<Return, Function>(self, f: Function) -> Returnwhere Self: Sized, Function: FnOnce(Self) -> Return,
source§fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere Function: FnOnce(&'a Self) -> Return,
source§fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere Function: FnOnce(&'a mut Self) -> Return,
source§fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Returnwhere
Self: AsRef<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Returnwhere Self: AsRef<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a Param) -> Return,
Apply
f
to &self
where f
takes a single parameter of type Param
and Self
implements trait AsRef<Param>
. Read moresource§fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Self: AsMut<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Returnwhere Self: AsMut<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a mut Param) -> Return,
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait AsMut<Param>
. Read moresource§fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Returnwhere
Self: Deref<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Returnwhere Self: Deref<Target = Param>, Param: 'a + ?Sized, Function: FnOnce(&'a Param) -> Return,
Apply
f
to &self
where f
takes a single parameter of type Param
and Self
implements trait Deref<Target = Param>
. Read moresource§fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
fn pipe_deref_mut<'a, Param, Return, Function>( &'a mut self, f: Function ) -> Returnwhere Self: DerefMut<Target = Param>, Param: 'a + ?Sized, Function: FnOnce(&'a mut Param) -> Return,
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait [DerefMut<Target = Param>
]. Read moresource§fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Returnwhere
Self: Borrow<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Returnwhere Self: Borrow<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a Param) -> Return,
Apply
f
to &self
where f
takes a single parameter of type Param
and Self
implements trait Borrow<Param>
. Read moresource§fn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Returnwhere
Self: BorrowMut<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
fn pipe_borrow_mut<'a, Param, Return, Function>( &'a mut self, f: Function ) -> Returnwhere Self: BorrowMut<Param>, Param: 'a + ?Sized, Function: FnOnce(&'a mut Param) -> Return,
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait BorrowMut<Param>
. Read more