Expand description
Library of null-terminated slices and UTF-8-encoded strings, references to which are thin pointers for efficiency and ease of use with FFI
The likely primary use cases are C FFI and OS ABI (for example: on Unix, many system calls take, and the initial environment involves, null-terminated arguments).
As the representation is a bare pointer to the element type, one can declare foreign
functions which merely take arguments or return values of type Nul<_>
, for example:
extern "C" {
fn strlen(_: &Nul<u8>) -> usize;
fn strchr(_: &Nul<u8>, _: c_int) -> &Nul<u8>;
}
For further examples, see the docs of Nul
.
Macros§
- nul_
of_ ref - Constructs a
&Nul<&T>
. - str0
- Make a static
Nul<u8>
. - str0_
utf8 - Make a static
NulStr
.
Structs§
- Char
Indices - Iterator over the characters of a null-terminated string and their byte positions
- Chars
- Iterator over the characters of a null-terminated string
- Iter
- Iterator over the elements of a null-terminated array
- IterMut
- Iterator over the elements of a mutable null-terminated array
- Nul
- Generic unsized null-terminated array
- NulStr
- Null-terminated UTF-8 encoded string
Functions§
- cast⚠
- Cast.