pub fn str_components<'a>(&'a self) -> StrComponents<'a> {
        let s = match self.prefix {
            Some(_) => {
                let plen = self.prefix_len();
                if self.repr.len() > plen && self.repr[plen] == SEP_BYTE {
                    self.repr.slice_from(plen+1)
                } else { self.repr.slice_from(plen) }
            }
            None if self.repr[0] == SEP_BYTE => self.repr.slice_from(1),
            None => self.repr.as_slice()
        };
        let ret = s.split_terminator(SEP).map(Some);
        ret
    }
/// Returns an iterator that yields each component of the path in turn as a Option<&str>.
/// Every component is guaranteed to be Some.
/// Does not yield the path prefix (including server/share components in UNC paths).
/// Does not distinguish between volume-relative and relative paths, e.g.
/// \a\b\c and a\b\c.
/// Does not distinguish between absolute and cwd-relative paths, e.g.
/// C:\foo and C:foo.
Returns an iterator that yields each component of the path in turn as a Option<&str>.
Every component is guaranteed to be Some.
Does not yield the path prefix (including server/share components in UNC paths).
Does not distinguish between volume-relative and relative paths, e.g.
Returns an iterator that yields each component of the path in turn as a Option<&str > . Every component is guaranteed to be Some . Does not yield the path prefix ( including server / share components in UNC paths ) . Does not distinguish between volume - relative and relative paths e . g .
pub fn str_components<'a>(&'a self) -> StrComponents<'a> {
        let s = match self.prefix {
            Some(_) => {
                let plen = self.prefix_len();
                if self.repr.len() > plen && self.repr[plen] == SEP_BYTE {
                    self.repr.slice_from(plen+1)
                } else { self.repr.slice_from(plen) }
            }
            None if self.repr[0] == SEP_BYTE => self.repr.slice_from(1),
            None => self.repr.as_slice()
        };
        let ret = s.split_terminator(SEP).map(Some);
        ret
    }
pub fn str_components < ' a > ( & ' a self ) -> StrComponents < ' a > { let s = match self . prefix { Some ( _ ) => { let plen = self . prefix_len ( ) ; if self . repr . len ( ) > plen && self . repr [ plen ] == SEP_BYTE { self . repr . slice_from ( plen + 1 ) } else { self . repr . slice_from ( plen ) } } None if self . repr [ 0 ] == SEP_BYTE => self . repr . slice_from ( 1 ) , None => self . repr . as_slice ( ) } ; let ret = s . split_terminator ( SEP ) . map ( Some ) ; ret }
Returns an iterator that yields each component of the path in turn as a Option<&str>.
Returns an iterator that yields each component of the path in turn as a Option<&str > .
&'a self
&'a self