pub struct RopeIndex {
pub line: usize,
pub code_point: usize,
}Expand description
An index into a Rope data structure. Used to efficiently identify a particular
position in a Rope. As Rope always uses Rust strings interally, code point
indices represented in a RopeIndex are assumed to be UTF-8 code points (one byte
each).
Note that it is possible for a RopeIndex to point past the end of the last line,
as it can be used in exclusive ranges. In lines other than the last line, it should
always refer to offsets before the trailing newline.
Fields§
§line: usizeThe index of the line that this RopeIndex refers to.
code_point: usizeThe index of the code point on the RopeIndex’s line in UTF-8 code
points.
Note: This is not a Utf8CodeUnitLength in order to avoid continually having
to unpack the inner value.
Implementations§
Trait Implementations§
Source§impl MallocSizeOf for RopeIndex
impl MallocSizeOf for RopeIndex
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Source§impl Ord for RopeIndex
impl Ord for RopeIndex
Source§impl PartialOrd for RopeIndex
impl PartialOrd for RopeIndex
impl Copy for RopeIndex
impl Eq for RopeIndex
impl StructuralPartialEq for RopeIndex
Auto Trait Implementations§
impl Freeze for RopeIndex
impl RefUnwindSafe for RopeIndex
impl Send for RopeIndex
impl Sync for RopeIndex
impl Unpin for RopeIndex
impl UnwindSafe for RopeIndex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert