Enum Prefix
enum Prefix<'a>
Windows path prefixes, e.g., C: or \\server\share.
Windows uses a variety of path prefix styles, including references to drive
volumes (like C:), network shared folders (like \\server\share), and
others. In addition, some path prefixes are "verbatim" (i.e., prefixed with
\\?\), in which case / is not treated as a separator and essentially
no normalization is performed.
Examples
use ;
use *;
use OsStr;
# if cfg!
Variants
-
Verbatim(&'a crate::ffi::OsStr) Verbatim prefix, e.g.,
\\?\cat_pics.Verbatim prefixes consist of
\\?\immediately followed by the given component.-
VerbatimUNC(&'a crate::ffi::OsStr, &'a crate::ffi::OsStr) Verbatim prefix using Windows' Uniform Naming Convention, e.g.,
\\?\UNC\server\share.Verbatim UNC prefixes consist of
\\?\UNC\immediately followed by the server's hostname and a share name.-
VerbatimDisk(u8) Verbatim disk prefix, e.g.,
\\?\C:.Verbatim disk prefixes consist of
\\?\immediately followed by the drive letter and:.-
DeviceNS(&'a crate::ffi::OsStr) Device namespace prefix, e.g.,
\\.\COM42.Device namespace prefixes consist of
\\.\(possibly using/instead of\), immediately followed by the device name.-
UNC(&'a crate::ffi::OsStr, &'a crate::ffi::OsStr) Prefix using Windows' Uniform Naming Convention, e.g.
\\server\share.UNC prefixes consist of the server's hostname and a share name.
-
Disk(u8) Prefix
C:for the given disk drive.
Implementations
impl<'a> Prefix<'a>
fn is_verbatim(self: &Self) -> boolDetermines if the prefix is verbatim, i.e., begins with
\\?\.Examples
use *; use OsStr; assert!; assert!; assert!; assert!; assert!; assert!;
impl<'a> Clone for Prefix<'a>
fn clone(self: &Self) -> Prefix<'a>
impl<'a> Copy for Prefix<'a>
impl<'a> Debug for Prefix<'a>
fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
impl<'a> Eq for Prefix<'a>
impl<'a> Freeze for Prefix<'a>
impl<'a> Hash for Prefix<'a>
fn hash<__H: $crate::hash::Hasher>(self: &Self, state: &mut __H)
impl<'a> Ord for Prefix<'a>
fn cmp(self: &Self, other: &Prefix<'a>) -> $crate::cmp::Ordering
impl<'a> PartialEq for Prefix<'a>
fn eq(self: &Self, other: &Prefix<'a>) -> bool
impl<'a> PartialOrd for Prefix<'a>
fn partial_cmp(self: &Self, other: &Prefix<'a>) -> $crate::option::Option<$crate::cmp::Ordering>
impl<'a> RefUnwindSafe for Prefix<'a>
impl<'a> Send for Prefix<'a>
impl<'a> StructuralPartialEq for Prefix<'a>
impl<'a> Sync for Prefix<'a>
impl<'a> Unpin for Prefix<'a>
impl<'a> UnwindSafe for Prefix<'a>
impl<T> Any for Prefix<'a>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Prefix<'a>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Prefix<'a>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Prefix<'a>
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Prefix<'a>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Prefix<'a>
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for Prefix<'a>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Prefix<'a>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Prefix<'a>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>