Struct parallel_disk_usage::data_tree::reflection::Reflection
source · [−]pub struct Reflection<Name, Data: Size> {
pub name: Name,
pub data: Data,
pub children: Vec<Self>,
}
Expand description
Intermediate format used for construction and inspection of
DataTree
’s internal content.
Unlike Tree
where the fields are all private, the fields of TreeReflection
are all public to allow construction in tests.
Conversion between DataTree
and Reflection
:
- Any
DataTree
can be safely transmuted to a validReflection
. - Any
Reflection
can be safely transmuted to a potentially invalidDataTree
. - To safely convert a
DataTree
into aReflection
without theunsafe
keyword, useDataTree::into_reflection
(it would be slower than usingtransmute
). - To safely convert a
Reflection
into a validDataTree
, usepar_try_into_tree
.
Serialization and deserialization: (feature: json
) Reflection
implements
Serialize
and Deserialize
traits, this allows functions in serde_json
to convert
a Reflection
into/from JSON.
Fields
name: Name
Name of the tree.
data: Data
Disk usage of a file or total disk usage of a folder.
children: Vec<Self>
Data of children filesystem subtrees.
Implementations
sourceimpl<Name, Data> Reflection<Name, Data> where
Name: Send,
Data: Size + Send,
impl<Name, Data> Reflection<Name, Data> where
Name: Send,
Data: Size + Send,
sourcepub fn par_try_into_tree(
self
) -> Result<DataTree<Name, Data>, ConversionError<Name, Data>>
pub fn par_try_into_tree(
self
) -> Result<DataTree<Name, Data>, ConversionError<Name, Data>>
Attempting to convert a Reflection
into a valid DataTree
.
sourcepub fn par_try_map<TargetName, TargetData, Error, Transform>(
self,
transform: Transform
) -> Result<Reflection<TargetName, TargetData>, Error> where
TargetName: Send,
TargetData: Size + Send + Sync,
Error: Send,
Transform: Fn(Name, Data) -> Result<(TargetName, TargetData), Error> + Copy + Sync,
pub fn par_try_map<TargetName, TargetData, Error, Transform>(
self,
transform: Transform
) -> Result<Reflection<TargetName, TargetData>, Error> where
TargetName: Send,
TargetData: Size + Send + Sync,
Error: Send,
Transform: Fn(Name, Data) -> Result<(TargetName, TargetData), Error> + Copy + Sync,
Attempt to transform names and data.
sourcepub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Data>, Name> where
Name: AsRef<OsStr>,
Data: Sync,
pub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Data>, Name> where
Name: AsRef<OsStr>,
Data: Sync,
Attempt to convert all names from OsString
to String
.
Trait Implementations
sourceimpl<Name: Clone, Data: Clone + Size> Clone for Reflection<Name, Data>
impl<Name: Clone, Data: Clone + Size> Clone for Reflection<Name, Data>
sourcefn clone(&self) -> Reflection<Name, Data>
fn clone(&self) -> Reflection<Name, Data>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'de, Name, Data: Size> Deserialize<'de> for Reflection<Name, Data> where
Name: Deserialize<'de>,
Data: Deserialize<'de>,
impl<'de, Name, Data: Size> Deserialize<'de> for Reflection<Name, Data> where
Name: Deserialize<'de>,
Data: Deserialize<'de>,
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
sourceimpl<Name, Data: Size> From<DataTree<Name, Data>> for Reflection<Name, Data>
impl<Name, Data: Size> From<DataTree<Name, Data>> for Reflection<Name, Data>
sourceimpl From<Reflection<String, Blocks>> for UnitAndTree
impl From<Reflection<String, Blocks>> for UnitAndTree
sourcefn from(original: Reflection<String, Blocks>) -> UnitAndTree
fn from(original: Reflection<String, Blocks>) -> UnitAndTree
Performs the conversion.
sourceimpl From<Reflection<String, Bytes>> for UnitAndTree
impl From<Reflection<String, Bytes>> for UnitAndTree
sourcefn from(original: Reflection<String, Bytes>) -> UnitAndTree
fn from(original: Reflection<String, Bytes>) -> UnitAndTree
Performs the conversion.
sourceimpl<Name: PartialEq, Data: PartialEq + Size> PartialEq<Reflection<Name, Data>> for Reflection<Name, Data>
impl<Name: PartialEq, Data: PartialEq + Size> PartialEq<Reflection<Name, Data>> for Reflection<Name, Data>
sourcefn eq(&self, other: &Reflection<Name, Data>) -> bool
fn eq(&self, other: &Reflection<Name, Data>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &Reflection<Name, Data>) -> bool
fn ne(&self, other: &Reflection<Name, Data>) -> bool
This method tests for !=
.
sourceimpl<Name, Data: Size> Serialize for Reflection<Name, Data> where
Name: Serialize,
Data: Serialize,
impl<Name, Data: Size> Serialize for Reflection<Name, Data> where
Name: Serialize,
Data: Serialize,
sourceimpl TryFrom<UnitAndTree> for Reflection<String, Bytes>
impl TryFrom<UnitAndTree> for Reflection<String, Bytes>
sourceimpl TryFrom<UnitAndTree> for Reflection<String, Blocks>
impl TryFrom<UnitAndTree> for Reflection<String, Blocks>
impl<Name: Eq, Data: Eq + Size> Eq for Reflection<Name, Data>
impl<Name, Data: Size> StructuralEq for Reflection<Name, Data>
impl<Name, Data: Size> StructuralPartialEq for Reflection<Name, Data>
Auto Trait Implementations
impl<Name, Data> RefUnwindSafe for Reflection<Name, Data> where
Data: RefUnwindSafe,
Name: RefUnwindSafe,
impl<Name, Data> Send for Reflection<Name, Data> where
Data: Send,
Name: Send,
impl<Name, Data> Sync for Reflection<Name, Data> where
Data: Sync,
Name: Sync,
impl<Name, Data> Unpin for Reflection<Name, Data> where
Data: Unpin,
Name: Unpin,
impl<Name, Data> UnwindSafe for Reflection<Name, Data> where
Data: UnwindSafe,
Name: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<X> Pipe for X
impl<X> Pipe for X
sourcefn pipe<Return, Function>(self, f: Function) -> Return where
Function: FnOnce(Self) -> Return,
fn pipe<Return, Function>(self, f: Function) -> Return where
Function: FnOnce(Self) -> Return,
Apply f
to self
. Read more
sourcefn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
Function: FnOnce(&'a Self) -> Return,
fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
Function: FnOnce(&'a Self) -> Return,
Apply f
to &self
. Read more
sourcefn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
Function: FnOnce(&'a mut Self) -> Return,
fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
Function: FnOnce(&'a mut Self) -> Return,
Apply f
to &mut self
. Read more
sourcefn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: AsRef<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
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 more
sourcefn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return where
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) -> Return where
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 more
sourcefn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: Deref<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
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 more
sourcefn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
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
) -> Return where
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 more
sourcefn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: Borrow<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
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 more
sourcefn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
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
) -> Return where
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
sourceimpl<X> Pipe for X
impl<X> Pipe for X
sourcefn pipe<Return, Function>(self, f: Function) -> Return where
Function: FnOnce(Self) -> Return,
fn pipe<Return, Function>(self, f: Function) -> Return where
Function: FnOnce(Self) -> Return,
Apply f
to self
. Read more
sourcefn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
Function: FnOnce(&'a Self) -> Return,
fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
Function: FnOnce(&'a Self) -> Return,
Apply f
to &self
. Read more
sourcefn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
Function: FnOnce(&'a mut Self) -> Return,
fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
Function: FnOnce(&'a mut Self) -> Return,
Apply f
to &mut self
. Read more
sourcefn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: AsRef<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
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 more
sourcefn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return where
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) -> Return where
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 more
sourcefn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: Deref<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
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<Param>
. Read more
sourcefn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
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
) -> Return where
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<Param>
. Read more
sourcefn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
Self: Borrow<Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a Param) -> Return,
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
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 Deref<Param>
. Read more
sourcefn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function
) -> Return where
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
) -> Return where
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 DerefMut<Param>
. Read more
impl<T> Pointable for T
impl<T> Pointable for T
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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more