iri-string
String types for IRIs (Internationalized Resource Identifiers) and URIs (Uniform Resource Identifiers).
See the documentation for details.
Features
no_std
support.- String types (both owned and borrowed) for IRIs.
- IRI reference resolution algorithm.
- IRI normalization algorithm.
Feature flags
Direct
alloc
(enabled by default)- Enables types and functions which require memory allocation.
- Requires
std
oralloc
crate available.
std
(enabled by default)- Enables all
std
features (such as memory allocations andstd::error::Error
trait). - Requires
std
crate available. - This automatically enables
alloc
feature.
- Enables all
memchr
memchr
- Enable optimization for internal parsers, using
memchr
crate.
- Enable optimization for internal parsers, using
memchr-std
- Enable
std
feature formemchr
. - This may make the parsing even faster. For detail, see README of
memchr
crate.
- Enable
serde
serde
- Implements
Serialize
andDeserialize
traits for string types.
- Implements
serde-alloc
- Enables deriving serialization and deserialization impls which requires heap memory allocation.
- If you enable
alloc
andserde
features at the same time, you should also enableserde-alloc
feature. - This automatically enables
alloc
feature.
serde-std
- Enables deriving serialization and deserialization impls which requires std stuff.
- If you enable
std
andserde
features at the same time, you should also enableserde-std
feature. - This automatically enables
std
feature.
CI
CI must pass on develop
and master
branches.
No automated online CI is set up (since they consumes credit too fast), so run
cargo make manual-ci-all
locally before committing to these branches.
On other branches, tests and some lints (such as dead_code
) are allowed to
fail, but all commits must be successfully compilable and must be formatted.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE.txt or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT.txt or https://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.