Struct std::ffi::OsStr 1.0.0
[−]
[src]
pub struct OsStr { /* fields omitted */ }Slices into OS strings (see OsString).
Methods
impl OsStr[src]
fn new<S: AsRef<OsStr> + ?Sized>(s: &S) -> &OsStr
fn to_str(&self) -> Option<&str>
Yields a &str slice if the OsStr is valid Unicode.
This conversion may entail doing a check for UTF-8 validity.
Examples
use std::ffi::OsStr; let os_str = OsStr::new("foo"); assert_eq!(os_str.to_str(), Some("foo"));Run
fn to_string_lossy(&self) -> Cow<str>
Converts an OsStr to a Cow<str>.
Any non-Unicode sequences are replaced with U+FFFD REPLACEMENT CHARACTER.
Examples
Calling to_string_lossy on an OsStr with valid unicode:
use std::ffi::OsStr; let os_str = OsStr::new("foo"); assert_eq!(os_str.to_string_lossy(), "foo");Run
Had os_str contained invalid unicode, the to_string_lossy call might
have returned "fo�".
fn to_os_string(&self) -> OsString
Copies the slice into an owned OsString.
fn is_empty(&self) -> bool1.9.0
Checks whether the OsStr is empty.
Examples
use std::ffi::OsStr; let os_str = OsStr::new(""); assert!(os_str.is_empty()); let os_str = OsStr::new("foo"); assert!(!os_str.is_empty());Run
fn len(&self) -> usize1.9.0
Returns the length of this OsStr.
Note that this does not return the number of bytes in this string
as, for example, OS strings on Windows are encoded as a list of u16
rather than a list of bytes. This number is simply useful for passing to
other methods like OsString::with_capacity to avoid reallocations.
See OsStr introduction for more information about encoding.
Examples
use std::ffi::OsStr; let os_str = OsStr::new(""); assert_eq!(os_str.len(), 0); let os_str = OsStr::new("foo"); assert_eq!(os_str.len(), 3);Run
Trait Implementations
impl<'a> Default for &'a OsStr1.9.0[src]
impl PartialEq for OsStr[src]
fn eq(&self, other: &OsStr) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl PartialEq<str> for OsStr[src]
fn eq(&self, other: &str) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl Eq for OsStr[src]
impl PartialOrd for OsStr[src]
fn partial_cmp(&self, other: &OsStr) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &OsStr) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &OsStr) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &OsStr) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &OsStr) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl PartialOrd<str> for OsStr[src]
fn partial_cmp(&self, other: &str) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Ord for OsStr[src]
fn cmp(&self, other: &OsStr) -> Ordering
This method returns an Ordering between self and other. Read more
impl<'a, 'b> PartialEq<OsString> for OsStr1.8.0[src]
fn eq(&self, other: &OsString) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<OsString> for OsStr1.8.0[src]
fn partial_cmp(&self, other: &OsString) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<OsString> for &'a OsStr1.8.0[src]
fn eq(&self, other: &OsString) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<OsString> for &'a OsStr1.8.0[src]
fn partial_cmp(&self, other: &OsString) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr1.8.0[src]
fn eq(&self, other: &Cow<'a, OsStr>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStr1.8.0[src]
fn partial_cmp(&self, other: &Cow<'a, OsStr>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr1.8.0[src]
fn eq(&self, other: &Cow<'a, OsStr>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for &'b OsStr1.8.0[src]
fn partial_cmp(&self, other: &Cow<'a, OsStr>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Hash for OsStr[src]
fn hash<H: Hasher>(&self, state: &mut H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher1.3.0
Feeds a slice of this type into the state provided.
impl Debug for OsStr[src]
fn fmt(&self, formatter: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl ToOwned for OsStr[src]
type Owned = OsString
fn to_owned(&self) -> OsString
Creates owned data from borrowed data, usually by cloning. Read more
impl AsRef<OsStr> for OsStr[src]
impl AsRef<Path> for OsStr[src]
impl<'a, 'b> PartialEq<PathBuf> for OsStr1.8.0[src]
fn eq(&self, other: &PathBuf) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<PathBuf> for OsStr1.8.0[src]
fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<PathBuf> for &'a OsStr1.8.0[src]
fn eq(&self, other: &PathBuf) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<PathBuf> for &'a OsStr1.8.0[src]
fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<Path> for OsStr1.8.0[src]
fn eq(&self, other: &Path) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<Path> for OsStr1.8.0[src]
fn partial_cmp(&self, other: &Path) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<Path> for &'a OsStr1.8.0[src]
fn eq(&self, other: &Path) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<Path> for &'a OsStr1.8.0[src]
fn partial_cmp(&self, other: &Path) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<&'a Path> for OsStr1.8.0[src]
fn eq(&self, other: &&'a Path) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<&'a Path> for OsStr1.8.0[src]
fn partial_cmp(&self, other: &&'a Path) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsStr1.8.0[src]
fn eq(&self, other: &Cow<'a, Path>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsStr1.8.0[src]
fn partial_cmp(&self, other: &Cow<'a, Path>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr1.8.0[src]
fn eq(&self, other: &Cow<'a, Path>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool
This method tests for !=.
impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b OsStr1.8.0[src]
fn partial_cmp(&self, other: &Cow<'a, Path>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more