pub struct MergeableFileSystemTree<Path, FileContent>(_)
where
    Path: Ord
;
Expand description

Representation of a filesystem which contains only files and directories.

The serialization of FileContent (content of file) and BTreeMap<Path, Self> (children of directory) must not share the same type. That is, FileContent must be serialized to things other than a dictionary.

Generic parameters:

  • Path: Reference to a file in the filesystem.
  • FileContent: Content of a file.

Difference from FileSystemTree: FileSystemTree::build cannot write over an existing directory. On the other hand, MergeableFileSystemTree::build either merges the two directories if there’s no conflict.

Methods from Deref<Target = FileSystemTree<Path, FileContent>>

Get immutable reference to the file content.

Get immutable reference to the directory content.

Get immutable reference to a descendant of any level.

Get mutable reference to the file content.

Get mutable reference to the directory content.

Get mutable reference to a descendant of any level.

Trait Implementations

Converts this type into a mutable reference of the (usually inferred) input type.
Converts this type into a shared reference of the (usually inferred) input type.
Locations of the items in the filesystem.
Add prefix to the root of the tree.
Write content to a file.
Create a directory at root.
Build the tree into the filesystem.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Content of the node if it is a file.
Content of the node if it is a directory.
Read the content of the node.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Apply f to self. Read more
Apply f to &self. Read more
Apply f to &mut self. Read more
Apply f to &self where f takes a single parameter of type Param and Self implements trait AsRef<Param>. Read more
Apply f to &mut self where f takes a single parameter of type Param and Self implements trait AsMut<Param>. Read more
Apply f to &self where f takes a single parameter of type Param and Self implements trait Deref<Target = Param>. Read more
Apply f to &mut self where f takes a single parameter of type Param and Self implements trait [DerefMut<Target = Param>]. Read more
Apply f to &self where f takes a single parameter of type Param and Self implements trait Borrow<Param>. Read more
Apply f to &mut self where f takes a single parameter of type Param and Self implements trait BorrowMut<Param>. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.