pub struct HexPrefix { /* private fields */ }
Expand description
An identifier prefix (typically from a type implementing the ObjectId
trait) with facilities for converting between bytes and a hex string.
Implementations§
Source§impl HexPrefix
impl HexPrefix
Sourcepub fn new(prefix: &str) -> Option<HexPrefix>
pub fn new(prefix: &str) -> Option<HexPrefix>
Returns a new HexPrefix
or None
if prefix
cannot be decoded from
hex to bytes.
pub fn from_bytes(bytes: &[u8]) -> Self
pub fn hex(&self) -> String
Sourcepub fn min_prefix_bytes(&self) -> &[u8] ⓘ
pub fn min_prefix_bytes(&self) -> &[u8] ⓘ
Minimum bytes that would match this prefix. (e.g. “abc0” for “abc”)
Use this to partition a sorted slice, and test matches(id)
from there.
Sourcepub fn as_full_bytes(&self) -> Option<&[u8]>
pub fn as_full_bytes(&self) -> Option<&[u8]>
Returns the bytes representation if this prefix can be a full id.
Trait Implementations§
impl Eq for HexPrefix
impl StructuralPartialEq for HexPrefix
Auto Trait Implementations§
impl Freeze for HexPrefix
impl RefUnwindSafe for HexPrefix
impl Send for HexPrefix
impl Sync for HexPrefix
impl Unpin for HexPrefix
impl UnwindSafe for HexPrefix
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> 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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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