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 DataTree where the fields are all private, the fields of Reflection
are all public to allow construction in tests.
Conversion between DataTree and Reflection:
- Any
DataTreecan be safely transmuted to a validReflection. - Any
Reflectioncan be safely transmuted to a potentially invalidDataTree. - To safely convert a
DataTreeinto aReflectionwithout theunsafekeyword, useDataTree::into_reflection(it would be slower than usingtransmute). - To safely convert a
Reflectioninto 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: NameName of the tree.
size: SizeDisk 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 duplicate 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<Name, Size> Serialize for Reflection<Name, Size>
impl<Name, Size> Serialize for Reflection<Name, Size>
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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