Struct CompactPathTree

Source
pub struct CompactPathTree { /* private fields */ }
Expand description

A compact immutable representation of the paths within a directory.

Implementations§

Source§

impl CompactPathTree

Source

pub fn new(root: PathBuf, visitor: &mut impl PathVisitor) -> Result<Self>

Construct a new CompactPathTree by doing a depth-first traversal of the given directory.

The given visitor is used to determine which items should be included and what errors are fatal.

Symbolic links will be stored in the tree, but not followed.

Source

pub fn inner(&self) -> &Path

Get the underlying path this tree is represented as.

Source

pub fn root(&self) -> &Path

Get the root path this tree was constructed from.

Source

pub fn iter(&self) -> CompactPathTreeIter<'_>

Get an iterator over the paths stored in this tree.

The root path isn’t included in the output of this iterator, only its contents are. The paths are iterated in a depth-first traversal of the tree, with parents being emitted before children. No other guarantees are made with regards to ordering.

Trait Implementations§

Source§

impl Clone for CompactPathTree

Source§

fn clone(&self) -> CompactPathTree

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> IntoIterator for &'a CompactPathTree

Source§

type Item = PathBuf

The type of the elements being iterated over.
Source§

type IntoIter = CompactPathTreeIter<'a>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl PartialEq for CompactPathTree

Source§

fn eq(&self, other: &CompactPathTree) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CompactPathTree

Source§

impl StructuralPartialEq for CompactPathTree

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.