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);
}
}
计划中(最终)
CharMapRefMut
CharMapBuf
依赖项
~0–760KB
~16K SLoC