pub struct Reflection<Name, Size: Size> {
pub name: Name,
pub size: Size,
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.
size: Size
Disk usage of a file or total disk usage of a folder.
children: Vec<Self>
Data of children filesystem subtrees.
Implementations§
Source§impl<Name, Size> Reflection<Name, Size>
impl<Name, Size> Reflection<Name, Size>
Sourcepub fn par_try_into_tree(
self,
) -> Result<DataTree<Name, Size>, ConversionError<Name, Size>>
pub fn par_try_into_tree( self, ) -> Result<DataTree<Name, Size>, ConversionError<Name, Size>>
Attempting to convert a Reflection
into a valid DataTree
.
Sourcepub fn par_try_map<TargetName, TargetSize, Error, Transform>(
self,
transform: Transform,
) -> Result<Reflection<TargetName, TargetSize>, Error>
pub fn par_try_map<TargetName, TargetSize, Error, Transform>( self, transform: Transform, ) -> Result<Reflection<TargetName, TargetSize>, Error>
Attempt to transform names and sizes.
Sourcepub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Size>, Name>
pub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Size>, Name>
Attempt to convert all names from OsString
to String
.
Trait Implementations§
Source§impl<Name: Clone, Size: Clone + Size> Clone for Reflection<Name, Size>
impl<Name: Clone, Size: Clone + Size> Clone for Reflection<Name, Size>
Source§fn clone(&self) -> Reflection<Name, Size>
fn clone(&self) -> Reflection<Name, Size>
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, Size> Deserialize<'de> for Reflection<Name, Size>
impl<'de, Name, Size> Deserialize<'de> for Reflection<Name, Size>
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§impl From<Reflection<String, Bytes>> for UnitAndTree
impl From<Reflection<String, Bytes>> for UnitAndTree
Source§impl<Name, Size> Serialize for Reflection<Name, Size>
impl<Name, Size> Serialize for Reflection<Name, Size>
Source§impl TryFrom<UnitAndTree> for Reflection<String, Blocks>
impl TryFrom<UnitAndTree> for Reflection<String, Blocks>
Source§type Error = TryIntoError<UnitAndTree>
type Error = TryIntoError<UnitAndTree>
The type returned in the event of a conversion error.
Source§impl TryFrom<UnitAndTree> for Reflection<String, Bytes>
impl TryFrom<UnitAndTree> for Reflection<String, Bytes>
Source§type Error = TryIntoError<UnitAndTree>
type Error = TryIntoError<UnitAndTree>
The type returned in the event of a conversion error.
impl<Name: Eq, Size: Eq + Size> Eq for Reflection<Name, Size>
impl<Name, Size: Size> StructuralPartialEq for Reflection<Name, Size>
Auto Trait Implementations§
impl<Name, Size> Freeze for Reflection<Name, Size>
impl<Name, Size> RefUnwindSafe for Reflection<Name, Size>where
Name: RefUnwindSafe,
Size: RefUnwindSafe,
impl<Name, Size> Send for Reflection<Name, Size>
impl<Name, Size> Sync for Reflection<Name, Size>
impl<Name, Size> Unpin for Reflection<Name, Size>
impl<Name, Size> UnwindSafe for Reflection<Name, Size>where
Name: UnwindSafe,
Size: 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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<X> Pipe for X
impl<X> Pipe for X
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) -> 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