| 671 | #[derive(Clone)] |
| 672 | #[must_use = "iterators are lazy and do nothing unless consumed"] |
| 673 | pub struct Components<'a> { |
| 674 | // The path left to parse components from |
| 675 | path: &'a [u8], |
| 676 | |
| 677 | // The prefix is not included |
| 678 | |
| 679 | // true if path *physically* has a root separator; for most Windows |
| 680 | // prefixes, it may have a "logical" root separator for the purposes of |
| 681 | // normalization, e.g., \\server\share == \\server\share\. |
| 682 | has_physical_root: bool, |
| 683 | |
| 684 | // The iterator is double-ended, and these two states keep track of what has |
| 685 | // been produced from either end |
| 686 | front: State, |
| 687 | back: State, |
| 688 | } |
| 689 | |
| 690 | /// An iterator over the [`Component`]s of a [`Path`], as [`OsStr`] slices. |
| 691 | /// |
nothing calls this directly
no outgoing calls
no test coverage detected