Expand description
A module for defining typed identifier functionality that relies on allocation.
The main things this module provides are:
FragmentBuf- The ability to dynamically build a fragment.IdentBuf- The ability to dynamically build an identifier.convert- The ability to convert identifiers from one format to another.
See the respective items for more details.
§What’s in the Box!?
Some functions may return boxed versions of identifiers instead of identifier buffers. The reason for this is the non-empty property of identifiers.
Buffers have to be able to be empty, because they’re useful in building or representing a dynamic identifier that may contain no data. So the user has to deal with that if they may be in that state (see IdentBuf::as_ident).
However, some operations are purely additive - so instead of returning an IdentBuf, we opt to return a Box<Ident>, to signify that the operation will always return a valid identifier.
Do note that FragmentBuf is different - since an empty fragment is allowed, for those cases we just return FragmentBuf for all modifying operations.
Re-exports§
pub use convert::ConvertibleIdentifier;
Modules§
- convert
- Infallible string conversion to another cased format.
Structs§
- Fragment
Buf - A dynamic, growable fragment.
- Ident
Buf - A dynamic, growable identifier.
Type Aliases§
- String
Segment - An owned, type-erased representation of a
Segment.