pub struct Path<'a, const MAX_DEPTH: usize> { /* private fields */ }Expand description
Unix-style path parser and representation.
Handles absolute and relative paths with . and .. navigation.
Zero-allocation parsing using string slices.
§Path Syntax
- Absolute paths: Start with
/(e.g.,/system/reboot) - Relative paths: No leading
/(e.g.,network/status,../hw) - Parent navigation:
..goes up one level - Current directory:
.stays at current level
§Memory
Uses MAX_DEPTH const generic to limit nesting depth.
All parsing is zero-allocation, working with string slices.
Implementations§
Source§impl<'a, const MAX_DEPTH: usize> Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> Path<'a, MAX_DEPTH>
Sourcepub fn parse(input: &'a str) -> Result<Self, CliError>
pub fn parse(input: &'a str) -> Result<Self, CliError>
Parse path string into Path structure.
Supports absolute (/system/reboot), relative (cmd, ./cmd), and parent (..) paths.
Returns InvalidPath for empty input or PathTooDeep if MAX_DEPTH exceeded.
Sourcepub fn is_absolute(&self) -> bool
pub fn is_absolute(&self) -> bool
Returns true if this is an absolute path (starts with /).
Sourcepub fn segment_count(&self) -> usize
pub fn segment_count(&self) -> usize
Returns the number of segments in this path.
Trait Implementations§
impl<'a, const MAX_DEPTH: usize> StructuralPartialEq for Path<'a, MAX_DEPTH>
Auto Trait Implementations§
impl<'a, const MAX_DEPTH: usize> Freeze for Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> RefUnwindSafe for Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> Send for Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> Sync for Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> Unpin for Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> UnsafeUnpin for Path<'a, MAX_DEPTH>
impl<'a, const MAX_DEPTH: usize> UnwindSafe for Path<'a, MAX_DEPTH>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more