lib.rs |
Strings that are compatible wuth Unix-like operating systems.
* [`UnixString`] and [`UnixStr`] are useful when you need to with Unix strings.
Conversions between [`UnixString`], [`UnixStr`] and Rust strings work similarly
to those for `CString` and `CStr`.
* [`UnixString`] represents an owned string in Unix's preferred
representation.
* [`UnixStr`] represents a borrowed reference to a string in a format that
can be passed to a Unix-lie operating system. It can be converted into
a UTF-8 Rust string slice in a similar way to [`UnixString`].
# Conversions
[`UnixStr`] implements two methods, [`from_bytes`] and [`as_bytes`].
These do inexpensive conversions from and to UTF-8 byte slices.
Additionally, [`UnixString`] provides [`from_vec`] and [`into_vec`] methods
that consume their arguments, and take or produce vectors of [`u8`].
[`UnixString`]: struct.UnixString.html
[`UnixStr`]: struct.UnixStr.html
[`from_vec`]: struct.UnixString.html#method.from_vec
[`into_vec`]: struct.UnixString.html#method.into_vec
[`from_bytes`]: struct.UnixStrExt.html#method.from_bytes
[`as_bytes`]: struct.UnixStrExt.html#method.as_bytes |
38204 |
lossy.rs |
|
7539 |
sys.rs |
The underlying UnixString/UnixStr implementation: just a `Vec<u8>`/`[u8]`. |
6325 |
sys_common |
|
|
sys_common.rs |
Platform-independent platform abstraction
This is the platform-independent portion of the standard library's
platform abstraction layer, whereas `std::sys` is the
platform-specific portion.
The relationship between `std::sys_common`, `std::sys` and the
rest of `std` is complex, with dependencies going in all
directions: `std` depending on `sys_common`, `sys_common`
depending on `sys`, and `sys` depending on `sys_common` and `std`.
Ideally `sys_common` would be split into two and the dependencies
between them all would form a dag, facilitating the extraction of
`std::sys` from the standard library. |
1269 |