Struct bonsaidb::core::ordered_varint::Signed
pub struct Signed(_);
Expand description
A signed integer value.
This type encodes values in the range -2.pow(123)..2.pow(123)
by using the
first 5 bits to denote a signed byte length
. This length ranges from
-15..=15
. The number of bytes read is always absolute, but the sign of the
length is used to determine the overall sign of the encoded value. The
remaining 3 bits of the first byte and any additional bytes are then
used to store the integer in big-endian encoding.
Trait Implementations§
§impl<'a> Key<'a> for Signed
impl<'a> Key<'a> for Signed
§fn from_ord_bytes(
bytes: &'a [u8]
) -> Result<Signed, <Signed as KeyEncoding<'a, Signed>>::Error>
fn from_ord_bytes(
bytes: &'a [u8]
) -> Result<Signed, <Signed as KeyEncoding<'a, Signed>>::Error>
Deserialize a sequence of bytes previously encoded with
KeyEncoding::as_ord_bytes
. Read more§fn first_value() -> Result<Signed, NextValueError>
fn first_value() -> Result<Signed, NextValueError>
Return the first value in sequence for this type. Not all types
implement this. Read more
§fn next_value(&self) -> Result<Signed, NextValueError>
fn next_value(&self) -> Result<Signed, NextValueError>
Return the next value in sequence for this type. Not all types implement
this. Instead of wrapping/overflowing, None should be returned. Read more
§impl<'a> KeyEncoding<'a, Signed> for Signed
impl<'a> KeyEncoding<'a, Signed> for Signed
§type Error = Error
type Error = Error
The error type that can be produced by either serialization or
deserialization. Read more
§const LENGTH: Option<usize> = None
const LENGTH: Option<usize> = None
The size of the key, if constant. If this type doesn’t produce the same
number of bytes for each value, this should be
None
. Read more§fn as_ord_bytes(
&self
) -> Result<Cow<'a, [u8]>, <Signed as KeyEncoding<'a, Signed>>::Error>
fn as_ord_bytes(
&self
) -> Result<Cow<'a, [u8]>, <Signed as KeyEncoding<'a, Signed>>::Error>
Convert
self
into a Cow<[u8]>
containing bytes that are able to be
compared via memcmp
in a way that is comptaible with its own Ord
implementation. Read more§impl Ord for Signed
impl Ord for Signed
§impl PartialOrd<Signed> for Signed
impl PartialOrd<Signed> for Signed
§fn partial_cmp(&self, other: &Signed) -> Option<Ordering>
fn partial_cmp(&self, other: &Signed) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more§impl Variable for Signed
impl Variable for Signed
impl Copy for Signed
impl Eq for Signed
impl StructuralEq for Signed
impl StructuralPartialEq for Signed
Auto Trait Implementations§
impl RefUnwindSafe for Signed
impl Send for Signed
impl Sync for Signed
impl Unpin for Signed
impl UnwindSafe for Signed
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.