Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/DanielKeep/strcursor


https://github.com/DanielKeep/strcursor

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# `strcursor`

**Note**: This is something of a work-in-progress. It has tests, but hasn't been exhaustively vetted.

This crate provides a "cursor" type for string slices. It provides the ability to safely seek back and forth through a string without worrying about producing invalid UTF-8 sequences, or splitting grapheme clusters.

In addition, it provides types to represent single grapheme clusters (`Gc`) and `GcBuf`) as distinct from arbitrary string slices.

See the `StrCursor` type for details.

**Links**

* [Latest Release](https://crates.io/crates/strcursor/)
* [Latest Docs](https://danielkeep.github.io/strcursor/doc/strcursor/index.html)
* [Repository](https://github.com/DanielKeep/strcursor)

## Compatibility

`strcursor` is currently supported on `rustc` version 1.1.0 and higher.

* `rustc` < 1.4 will use a larger, less space-efficient implementation of `GcBuf`; rather than being the same size as `Box`, it will be the same size as `String`.

* `rustc` < 1.1 is not supported, due to a mysterious compiler crash.

## License

Licensed under either of

* MIT license (see [LICENSE](LICENSE) or )
* Apache License, Version 2.0 (see [LICENSE](LICENSE) or )

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.