Struct wax::walk::WalkBehavior

source ·
pub struct WalkBehavior {
    pub depth: usize,
    pub link: LinkBehavior,
}
Available on crate feature walk only.
Expand description

Configuration for walking directory trees.

Determines the behavior of the traversal within a directory tree when using functions like Glob::walk_with_behavior. WalkBehavior can be constructed via conversions from types representing its fields. APIs generally accept impl Into<WalkBehavior>, so these conversion can be used implicitly. When constructed using such a conversion, WalkBehavior will use defaults for any remaining fields.

Examples

By default, symbolic links are interpreted as regular files and targets are ignored. To read linked targets, use LinkBehavior::ReadTarget.

use wax::walk::LinkBehavior;
use wax::Glob;

for entry in Glob::new("**")
    .unwrap()
    .walk_with_behavior(".", LinkBehavior::ReadTarget)
{
    let entry = entry.unwrap();
    // ...
}

Fields§

§depth: usize

Maximum depth.

Determines the maximum depth to which a directory tree will be traversed relative to the root. A depth of zero corresponds to the root and so using such a depth will yield at most one file entry that refers to the root.

For PathExt::walk, this depth is relative to the Path receiver. For Glob::walk, this depth is relative to the directory path parameter.

The default value is usize::MAX.

§link: LinkBehavior

Interpretation of symbolic links.

Determines how symbolic links are interpreted when walking a directory tree. See LinkBehavior.

The default value is LinkBehavior::ReadFile.

Trait Implementations§

source§

impl Clone for WalkBehavior

source§

fn clone(&self) -> WalkBehavior

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 Debug for WalkBehavior

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for WalkBehavior

Constructs a WalkBehavior using the following defaults:

FieldDescriptionValue
depthMaximum depth.usize::MAX
linkInterpretation of symbolic links.LinkBehavior::ReadFile
source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<()> for WalkBehavior

source§

fn from(_: ()) -> Self

Converts to this type from the input type.
source§

impl From<LinkBehavior> for WalkBehavior

source§

fn from(link: LinkBehavior) -> Self

Converts to this type from the input type.
source§

impl From<usize> for WalkBehavior

source§

fn from(depth: usize) -> Self

Converts to this type from the input type.
source§

impl PartialEq<WalkBehavior> for WalkBehavior

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for WalkBehavior

source§

impl Eq for WalkBehavior

source§

impl StructuralEq for WalkBehavior

source§

impl StructuralPartialEq for WalkBehavior

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.