#[repr(transparent)]pub struct ByteOffset(pub usize);Expand description
A byte offset (raw byte index into UTF-8 string).
Use this newtype to prevent accidentally passing character offsets where
byte offsets are expected. Byte offsets are what Rust’s str::get() and
regex libraries return.
§Example
use anno::offset::ByteOffset;
let text = "日本語"; // 3 chars, 9 bytes
let pos = ByteOffset(3); // Start of second character (本)
assert_eq!(pos.0, 3);Tuple Fields§
§0: usizeImplementations§
Trait Implementations§
Source§impl Clone for ByteOffset
impl Clone for ByteOffset
Source§fn clone(&self) -> ByteOffset
fn clone(&self) -> ByteOffset
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ByteOffset
impl Debug for ByteOffset
Source§impl<'de> Deserialize<'de> for ByteOffset
impl<'de> Deserialize<'de> for ByteOffset
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<ByteOffset> for usize
impl From<ByteOffset> for usize
Source§fn from(offset: ByteOffset) -> Self
fn from(offset: ByteOffset) -> Self
Converts to this type from the input type.
Source§impl From<usize> for ByteOffset
impl From<usize> for ByteOffset
Source§impl Hash for ByteOffset
impl Hash for ByteOffset
Source§impl Ord for ByteOffset
impl Ord for ByteOffset
Source§fn cmp(&self, other: &ByteOffset) -> Ordering
fn cmp(&self, other: &ByteOffset) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ByteOffset
impl PartialEq for ByteOffset
Source§impl PartialOrd for ByteOffset
impl PartialOrd for ByteOffset
Source§impl Serialize for ByteOffset
impl Serialize for ByteOffset
impl Copy for ByteOffset
impl Eq for ByteOffset
impl StructuralPartialEq for ByteOffset
Auto Trait Implementations§
impl Freeze for ByteOffset
impl RefUnwindSafe for ByteOffset
impl Send for ByteOffset
impl Sync for ByteOffset
impl Unpin for ByteOffset
impl UnsafeUnpin for ByteOffset
impl UnwindSafe for ByteOffset
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more