2 个版本
| 0.1.1 | 2023年9月15日 |
|---|---|
| 0.1.0 | 2019年8月23日 |
#13 在 #code-point
50KB
1K SLoC
mileage
该crate已被弃用,因为现在有更好的方式来完成其贡献。
CharRange是一个简单的码点范围,实际上等同于std::ops::RangeInclusive<char>。std范围已经支持迭代char很长时间了。CharSet是一组码点,作为紧凑范围的有序向量的处理。icu_collections提供了一个CodePointInversionList。CharTrie是一个静态码点集合,针对宽码点覆盖进行了优化。通常情况下,更简单的反转列表就足够了。CharMap是从码点(范围)到值的映射。icu_collections提供了一个具有映射功能的CodePointTrie。
功能
set:添加CharSet类型。trie:添加CharTrie类型。map:添加CharMap引用类型。owned-set:添加CharSetBuf类型。new-trie:添加对CharTrie的代码生成支持。par-iter:添加rayon::IntoParallelIterator的实现。
示例
fn main() {
use mileage::CharRange;
for ch in CharRange::from('a'..='z') {
// ch is each codepoint in lowercase ascii in sorted order
dbg!(ch);
}
for ch in CharRange::from(..) {
// ch is every valid char in sorted order
dbg!(ch);
}
}
计划中(最终)
CharMapRefMutCharMapBuf
依赖项
~0–760KB
~16K SLoC