[−][src]Struct git_features::fs::walkdir::DirEntryGeneric
Representation of a file or directory.
This representation does not wrap a std::fs::DirEntry. Instead it copies
file_name, file_type, and optionaly metadata out of the underlying
std::fs::DirEntry. This allows it to quickly drop the underlying file
descriptor.
Fields
depth: usizeDepth of this entry relative to the root directory where the walk started.
file_name: OsStringFile name of this entry without leading path component.
file_type: FileTypeFile type for the file/directory that this entry points at.
client_state: <C as ClientState>::DirEntryStateField where clients can store state from within the The
process_read_dir
callback.
parent_path: Arc<Path>Path used by this entry's parent to read this entry.
read_children_path: Option<Arc<Path>>Path that will be used to read child entries. This is automatically set
for directories. The
process_read_dir callback
may set this field to None to skip reading the contents of a
particular directory.
read_children_error: Option<Error>If read_children_path is set and resulting fs::read_dir generates an error
then that error is stored here.
Implementations
impl<C> DirEntry<C> where
C: ClientState, [src]
C: ClientState,
pub fn file_type(&self) -> FileType[src]
Return the file type for the file that this entry points to.
If this is a symbolic link and follow_links is true, then this
returns the type of the target.
This never makes any system calls.
pub fn file_name(&self) -> &OsStr[src]
Return the file name of this entry.
If this entry has no file name (e.g., /), then the full path is
returned.
pub fn depth(&self) -> usize[src]
Returns the depth at which this entry was created relative to the root.
The smallest depth is 0 and always corresponds to the path given
to the new function on WalkDir. Its direct descendents have depth
1, and their descendents have depth 2, and so on.
pub fn path(&self) -> PathBuf[src]
Path to the file/directory represented by this entry.
The path is created by joining parent_path with file_name.
pub fn path_is_symlink(&self) -> bool[src]
Returns true if and only if this entry was created from a symbolic
link. This is unaffected by the follow_links setting.
When true, the value returned by the path method is a
symbolic link name. To get the full target path, you must call
std::fs::read_link(entry.path()).
pub fn metadata(&self) -> Result<Metadata, Error>[src]
Return the metadata for the file that this entry points to.
This will follow symbolic links if and only if the WalkDir value
has follow_links enabled.
Platform behavior
This always calls std::fs::symlink_metadata.
If this entry is a symbolic link and follow_links is enabled, then
std::fs::metadata is called instead.
Errors
Similar to std::fs::metadata, returns errors for path values that
the program does not have permissions to access or if the path does not
exist.
pub fn parent_path(&self) -> &Path[src]
Reference to the path of the directory containing this entry.
Trait Implementations
impl<C> Debug for DirEntry<C> where
C: ClientState, [src]
C: ClientState,
Auto Trait Implementations
impl<C> !RefUnwindSafe for DirEntry<C>[src]
impl<C> Send for DirEntry<C>[src]
impl<C> Sync for DirEntry<C> where
<C as ClientState>::DirEntryState: Sync, [src]
<C as ClientState>::DirEntryState: Sync,
impl<C> Unpin for DirEntry<C> where
<C as ClientState>::DirEntryState: Unpin, [src]
<C as ClientState>::DirEntryState: Unpin,
impl<C> !UnwindSafe for DirEntry<C>[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,