Struct path_abs::PathAbs
[−]
[src]
pub struct PathAbs(_);
An absolute (canonicalized) path that is guaranteed (when created) to exist.
Methods
impl PathAbs
[src]
pub fn new<P: AsRef<Path>>(path: P) -> Result<PathAbs>
[src]
Instantiate a new PathAbs
. The path must exist or io::Error
will be returned.
Examples
use path_abs::PathAbs; let lib = PathAbs::new("src/lib.rs")?;
pub fn into_file(self) -> Result<PathFile>
[src]
Resolve the PathAbs
as a PathFile
. Return an error if it is not a file.
pub fn into_dir(self) -> Result<PathDir>
[src]
Resolve the PathAbs
as a PathDir
. Return an error if it is not a directory.
pub fn parent_dir(&self) -> Option<PathDir>
[src]
Get the parent directory of this path as a PathDir
.
This does not make aditional syscalls, as the parent by definition must be a directory and exist.
Examples
use path_abs::{PathDir, PathFile}; let lib = PathFile::new("src/lib.rs")?; let src = lib.parent_dir().unwrap(); assert_eq!(PathDir::new("src")?, src);
pub fn as_path(&self) -> &Path
[src]
Return a reference to a basic std::path::Path
pub fn mock<P: AsRef<Path>>(fake_path: P) -> PathAbs
[src]
For constructing mocked paths during tests. This is effectively the same as a PathBuf
.
This is NOT checked for validity so the file may or may not actually exist and will NOT be, in any way, an absolute or canonicalized path.
Examples
use path_abs::PathAbs; // this file exist let lib = PathAbs::new("src/lib.rs")?; let lib_mocked = PathAbs::mock("src/lib.rs"); // in this case, the mocked file exists assert!(lib_mocked.exists()); // However, it is NOT equivalent to `lib` assert_ne!(lib, lib_mocked); // this file doesn't exist at all let dne = PathAbs::mock("src/dne.rs"); assert!(!dne.exists());
Methods from Deref<Target = PathArc>
pub fn join<P: AsRef<Path>>(&self, path: P) -> PathArc
[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
pub fn with_file_name<P: AsRef<OsStr>>(&self, file_name: P) -> PathArc
[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
pub fn with_extension<P: AsRef<OsStr>>(&self, extension: P) -> PathArc
[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
pub fn metadata(&self) -> Result<Metadata>
[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
pub fn symlink_metadata(&self) -> Result<Metadata>
[src]
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
pub fn canonicalize(&self) -> Result<PathAbs>
[src]
Returns the canonical form of the path with all intermediate components normalized and symbolic links resolved.
This is identical to
PathAbs::new(path)
.
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
pub fn read_link(&self) -> Result<PathArc>
[src]
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 ofPathBuf
- It has error messages which include the action and the path
pub fn read_dir(&self) -> Result<ListDir>
[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.
pub fn as_path(&self) -> &Path
[src]
Return a reference to a basic std::path::Path
Trait Implementations
impl Clone for PathAbs
[src]
fn clone(&self) -> PathAbs
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Eq for PathAbs
[src]
impl Hash for PathAbs
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl PartialEq for PathAbs
[src]
fn eq(&self, __arg_0: &PathAbs) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &PathAbs) -> bool
[src]
This method tests for !=
.
impl PartialOrd for PathAbs
[src]
fn partial_cmp(&self, __arg_0: &PathAbs) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &PathAbs) -> bool
[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &PathAbs) -> bool
[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &PathAbs) -> bool
[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &PathAbs) -> bool
[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for PathAbs
[src]
fn cmp(&self, __arg_0: &PathAbs) -> Ordering
[src]
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
impl Debug for PathAbs
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl AsRef<PathArc> for PathAbs
[src]
impl AsRef<Path> for PathAbs
[src]
impl AsRef<PathBuf> for PathAbs
[src]
impl Borrow<PathArc> for PathAbs
[src]
impl Borrow<Path> for PathAbs
[src]
impl Borrow<PathBuf> for PathAbs
[src]
impl<'a> Borrow<PathArc> for &'a PathAbs
[src]
impl<'a> Borrow<Path> for &'a PathAbs
[src]
impl<'a> Borrow<PathBuf> for &'a PathAbs
[src]
impl Deref for PathAbs
[src]
type Target = PathArc
The resulting type after dereferencing.
fn deref(&self) -> &PathArc
[src]
Dereferences the value.
impl Into<PathArc> for PathAbs
[src]
impl AsRef<PathAbs> for PathDir
[src]
impl Borrow<PathAbs> for PathDir
[src]
impl<'a> Borrow<PathAbs> for &'a PathDir
[src]
impl Into<PathAbs> for PathDir
[src]
fn into(self) -> PathAbs
[src]
Downgrades the PathDir
into a PathAbs
Examples
use std::path::PathBuf; use path_abs::{PathDir, PathAbs}; let dir = PathDir::new("src")?; let abs: PathAbs = dir.into();
impl AsRef<PathAbs> for PathFile
[src]
impl Borrow<PathAbs> for PathFile
[src]
impl<'a> Borrow<PathAbs> for &'a PathFile
[src]
impl Into<PathAbs> for PathFile
[src]
fn into(self) -> PathAbs
[src]
Downgrades the PathFile
into a PathAbs
Examples
use std::path::PathBuf; use path_abs::{PathFile, PathAbs}; let file = PathFile::new("src/lib.rs")?; let abs: PathAbs = file.clone().into();
impl Serialize for PathAbs
[src]
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where
S: Serializer,
[src]
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<'de> Deserialize<'de> for PathAbs
[src]
fn deserialize<D>(deserializer: D) -> Result<PathAbs, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more