Struct parallel_disk_usage::data_tree::reflection::Reflection[][src]

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 valid Reflection.
  • Any Reflection can be safely transmuted to a potentially invalid DataTree.
  • To safely convert a DataTree into a Reflection without the unsafe keyword, use DataTree::into_reflection (it would be slower than using transmute).
  • To safely convert a Reflection into a valid DataTree, use par_try_into_tree.

Serialization and deserialization: Requires enabling the json feature to enable serde.

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

impl<Name, Data> Reflection<Name, Data> where
    Name: Send,
    Data: Size + Send
[src]

pub fn par_try_into_tree(
    self
) -> Result<DataTree<Name, Data>, ConversionError<Name, Data>>
[src]

Attempting to convert a Reflection into a valid DataTree.

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
[src]

Attempt to transform names and data.

pub fn par_convert_names_to_utf8(self) -> Result<Reflection<String, Data>, Name> where
    Name: AsRef<OsStr>,
    Data: Sync
[src]

Attempt to convert all names from OsString to String.

Trait Implementations

impl<Name: Clone, Data: Clone + Size> Clone for Reflection<Name, Data>[src]

fn clone(&self) -> Reflection<Name, Data>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<Name: Debug, Data: Debug + Size> Debug for Reflection<Name, Data>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'de, Name, Data: Size> Deserialize<'de> for Reflection<Name, Data> where
    Name: Deserialize<'de>,
    Data: Deserialize<'de>, 
[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl<Name, Data: Size> From<DataTree<Name, Data>> for Reflection<Name, Data>[src]

fn from(source: DataTree<Name, Data>) -> Self[src]

Performs the conversion.

impl From<Reflection<String, Blocks>> for JsonData[src]

fn from(original: Reflection<String, Blocks>) -> JsonData[src]

Performs the conversion.

impl From<Reflection<String, Bytes>> for JsonData[src]

fn from(original: Reflection<String, Bytes>) -> JsonData[src]

Performs the conversion.

impl<Name: PartialEq, Data: PartialEq + Size> PartialEq<Reflection<Name, Data>> for Reflection<Name, Data>[src]

fn eq(&self, other: &Reflection<Name, Data>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Reflection<Name, Data>) -> bool[src]

This method tests for !=.

impl<Name, Data: Size> Serialize for Reflection<Name, Data> where
    Name: Serialize,
    Data: Serialize
[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl TryFrom<JsonData> for Reflection<String, Bytes>[src]

type Error = &'static str

The type returned in the event of a conversion error.

fn try_from(value: JsonData) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl TryFrom<JsonData> for Reflection<String, Blocks>[src]

type Error = &'static str

The type returned in the event of a conversion error.

fn try_from(value: JsonData) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl<Name: Eq, Data: Eq + Size> Eq for Reflection<Name, Data>[src]

impl<Name, Data: Size> StructuralEq for Reflection<Name, Data>[src]

impl<Name, Data: Size> StructuralPartialEq for Reflection<Name, Data>[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<X> Pipe for X[src]

fn pipe<Return, Function>(self, f: Function) -> Return where
    Function: FnOnce(Self) -> Return, 
[src]

Apply f to self. Read more

fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
    Function: FnOnce(&'a Self) -> Return, 
[src]

Apply f to &self. Read more

fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
    Function: FnOnce(&'a mut Self) -> Return, 
[src]

Apply f to &mut self. Read more

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, 
[src]

Apply f to &self where f takes a single parameter of type Param and Self implements trait AsRef<Param>. Read more

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, 
[src]

Apply f to &mut self where f takes a single parameter of type Param and Self implements trait AsMut<Param>. Read more

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, 
[src]

Apply f to &self where f takes a single parameter of type Param and Self implements trait Deref<Param>. Read more

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, 
[src]

Apply f to &mut self where f takes a single parameter of type Param and Self implements trait DerefMut<Param>. Read more

fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return where
    Self: Borrow<Param>,
    Param: 'a + ?Sized,
    Function: FnOnce(&'a Param) -> Return, 
[src]

Apply f to &self where f takes a single parameter of type Param and Self implements trait Deref<Param>. Read more

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, 
[src]

Apply f to &mut self where f takes a single parameter of type Param and Self implements trait DerefMut<Param>. Read more

impl<X> Pipe for X[src]

fn pipe<Return, Function>(self, f: Function) -> Return where
    Function: FnOnce(Self) -> Return, 
[src]

Apply f to self. Read more

fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Return where
    Function: FnOnce(&'a Self) -> Return, 
[src]

Apply f to &self. Read more

fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Return where
    Function: FnOnce(&'a mut Self) -> Return, 
[src]

Apply f to &mut self. Read more

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]