Struct ergo_fs::PathArc [] [src]

pub struct PathArc(_);

A PathBuf that is atomically reference counted and reimplements the PathBuf methods to display the action and path when there is an error.

This is the root type of all other Path* types in this crate.

This type is also serializable when the serialize feature is enabled.

Methods

impl PathArc
[src]

[src]

Instantiate a new PathArc.

Examples

use path_abs::PathArc;

let path = PathArc::new("some/path");
let path2 = path.clone(); // cloning is cheap

[src]

Creates an owned PathBuf with path adjoined to self.

This function is identical to std::path::PathBuf::join except it returns PathArc instead of PathBuf

[src]

Creates an owned PathArc like self but with the given file name.

This function is identical to std::path::PathBuf::with_file_name except it returns PathArc instead of PathBuf

[src]

Creates an owned PathArc like self but with the given extension.

This function is identical to std::path::PathBuf::with_extension except it returns PathArc instead of PathBuf

[src]

Queries the file system to get information about a file, directory, etc.

This function will traverse symbolic links to query information about the destination file.

This function is identical to std::path::Path::metadata except it has error messages which include the action and the path

Queries the metadata about a file without following symlinks.

This function is identical to std::path::Path::symlink_metadata except it has error messages which include the action and the path

[src]

Returns the canonical form of the path with all intermediate components normalized and symbolic links resolved.

This function is identical to std::path::Path::canonicalize except:

  • It returns a PathAbs object
  • It has error messages which include the action and the path

Reads a symbolic link, returning the file that the link points to.

This function is identical to std::path::Path::read_link except:

  • It returns a PathArc object instead of PathBuf
  • It has error messages which include the action and the path

[src]

Returns an iterator over the entries within a directory.

This function is a shortcut to PathDir::list. It is slightly different than std::path::Path::read_dir.

[src]

Return a reference to a basic std::path::Path

[src]

Convert the path to an absolute one, this is different from canonicalize in that it preserves symlinks and the destination may or may not exist.

This function will:

  • Use current_dir to resolve relative paths.
  • Strip any . components (/a/./c -> /a/c)
  • Resolve .. semantically (not using the file system). So, a/b/c/../d => a/b/d will always be true regardless of symlinks. If you want symlinks correctly resolved, use canonicalize() instead.

On windows, this will sometimes call canonicalize() on the first component to guarantee it is the correct canonicalized prefix. For paths starting with root it also has to get the current_dir

On linux, the only syscall this will make is to get the current_dir for relative paths.

impl PathArc
[src]

[src]

Convert the PathArc into an STFU8 String.

[src]

Convert STFU8 str to a PathArc.

Methods from Deref<Target = PathBuf>

1.0.0
[src]

Coerces to a Path slice.

Examples

use std::path::{Path, PathBuf};

let p = PathBuf::from("/test");
assert_eq!(Path::new("/test"), p.as_path());

Trait Implementations

impl Ord for PathArc
[src]

[src]

This method returns an Ordering between self and other. Read more

1.21.0
[src]

Compares and returns the maximum of two values. Read more

1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl AsRef<PathArc> for PathAbs
[src]

[src]

Performs the conversion.

impl AsRef<PathArc> for PathDir
[src]

[src]

Performs the conversion.

impl AsRef<Path> for PathArc
[src]

[src]

Performs the conversion.

impl AsRef<PathArc> for PathType
[src]

[src]

Performs the conversion.

impl AsRef<PathBuf> for PathArc
[src]

[src]

Performs the conversion.

impl AsRef<PathArc> for PathFile
[src]

[src]

Performs the conversion.

impl PartialOrd<PathArc> for PathArc
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Deref for PathArc
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.

impl Into<PathArc> for PathType
[src]

[src]

Downgrades the PathType into a PathArc

impl Into<PathBuf> for PathArc
[src]

[src]

If there is only one reference to the PathArc, returns the inner PathBuf. Otherwise clones the inner PathBuf.

This is useful when you really want a PathBuf, especially when the PathArc was only recently created.

Examples

use path_abs::PathArc;
use std::path::PathBuf;

let base = PathArc::new("base");
let foo: PathBuf = base.join("foo.txt").into();

impl Into<PathArc> for PathAbs
[src]

[src]

Performs the conversion.

impl Into<PathArc> for PathFile
[src]

[src]

Downgrades the PathFile into a PathArc

impl Into<PathArc> for PathDir
[src]

[src]

Downgrades the PathDir into a PathArc

impl<'de> Deserialize<'de> for PathArc
[src]

[src]

Deserialize this value from the given Serde deserializer. Read more

impl Eq for PathArc
[src]

impl Hash for PathArc
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl PartialEq<PathArc> for PathArc
[src]

[src]

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

[src]

This method tests for !=.

impl Borrow<PathBuf> for PathArc
[src]

[src]

Immutably borrows from an owned value. Read more

impl Borrow<PathArc> for PathAbs
[src]

[src]

Immutably borrows from an owned value. Read more

impl Borrow<Path> for PathArc
[src]

[src]

Immutably borrows from an owned value. Read more

impl<'a> Borrow<PathArc> for &'a PathType
[src]

[src]

Immutably borrows from an owned value. Read more

impl Borrow<PathArc> for PathFile
[src]

[src]

Immutably borrows from an owned value. Read more

impl Borrow<PathArc> for PathType
[src]

[src]

Immutably borrows from an owned value. Read more

impl<'a> Borrow<PathBuf> for &'a PathArc
[src]

[src]

Immutably borrows from an owned value. Read more

impl Borrow<PathArc> for PathDir
[src]

[src]

Immutably borrows from an owned value. Read more

impl<'a> Borrow<PathArc> for &'a PathFile
[src]

[src]

Immutably borrows from an owned value. Read more

impl<'a> Borrow<Path> for &'a PathArc
[src]

[src]

Immutably borrows from an owned value. Read more

impl<'a> Borrow<PathArc> for &'a PathDir
[src]

[src]

Immutably borrows from an owned value. Read more

impl<'a> Borrow<PathArc> for &'a PathAbs
[src]

[src]

Immutably borrows from an owned value. Read more

impl Serialize for PathArc
[src]

[src]

Serialize this value into the given Serde serializer. Read more

impl From<PathBuf> for PathArc
[src]

[src]

Instantiate a new PathArc from a PathBuf.

impl Clone for PathArc
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for PathArc
[src]

[src]

Formats the value using the given formatter. Read more

impl Into<PathArc> for PathTmp
[src]

[src]

Downgrades the PathTmp into a PathArc

Auto Trait Implementations

impl Send for PathArc

impl Sync for PathArc