Crate strcursor [] [src]

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.


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<str>, it will be the same size as String.

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


pub use grapheme::Gc;
pub use grapheme::GcBuf;



Defines types for representing single grapheme clusters.



This type represents a cursor into a string slice; that is, in addition to having a beginning and end, it also has a current position between those two. This position can be seeked left and right within those bounds.