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§
source§impl<Name, Data> Reflection<Name, Data>
impl<Name, Data> Reflection<Name, Data>
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>
pub fn par_try_map<TargetName, TargetData, Error, Transform>( self, transform: Transform ) -> Result<Reflection<TargetName, TargetData>, Error>
Attempt to transform names and data.
sourcepub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Data>, Name>
pub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Data>, Name>
Attempt to convert all names from OsString
to String
.
Trait Implementations§
source§impl<Name: Clone, Data: Clone + Size> Clone for Reflection<Name, Data>
impl<Name: Clone, Data: Clone + Size> Clone for Reflection<Name, Data>
source§fn clone(&self) -> Reflection<Name, Data>
fn clone(&self) -> Reflection<Name, Data>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'de, Name, Data> Deserialize<'de> for Reflection<Name, Data>
impl<'de, Name, Data> Deserialize<'de> for Reflection<Name, Data>
source§fn 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
source§impl From<Reflection<String, Blocks>> for UnitAndTree
impl From<Reflection<String, Blocks>> for UnitAndTree
source§fn from(original: Reflection<String, Blocks>) -> UnitAndTree
fn from(original: Reflection<String, Blocks>) -> UnitAndTree
Converts to this type from the input type.
source§impl From<Reflection<String, Bytes>> for UnitAndTree
impl From<Reflection<String, Bytes>> for UnitAndTree
source§fn from(original: Reflection<String, Bytes>) -> UnitAndTree
fn from(original: Reflection<String, Bytes>) -> UnitAndTree
Converts to this type from the input type.
source§impl<Name: PartialEq, Data: PartialEq + Size> PartialEq for Reflection<Name, Data>
impl<Name: PartialEq, Data: PartialEq + Size> PartialEq for Reflection<Name, Data>
source§fn 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 ==
.source§impl<Name, Data> Serialize for Reflection<Name, Data>
impl<Name, Data> Serialize for Reflection<Name, Data>
source§impl TryFrom<UnitAndTree> for Reflection<String, Blocks>
impl TryFrom<UnitAndTree> for Reflection<String, Blocks>
source§impl TryFrom<UnitAndTree> for Reflection<String, Bytes>
impl TryFrom<UnitAndTree> for Reflection<String, Bytes>
impl<Name: Eq, Data: Eq + Size> Eq 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>
impl<Name, Data> Sync for Reflection<Name, Data>
impl<Name, Data> Unpin for Reflection<Name, Data>
impl<Name, Data> UnwindSafe for Reflection<Name, Data>where
Data: UnwindSafe,
Name: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<X> Pipe for X
impl<X> Pipe for X
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) -> Return
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> 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) -> Return
fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> 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) -> Return
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> 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) -> Return
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> 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
) -> Return
fn pipe_borrow_mut<'a, Param, Return, Function>( &'a mut self, f: Function ) -> Return
Apply
f
to &mut self
where f
takes a single parameter of type Param
and Self
implements trait BorrowMut<Param>
. Read more