Struct bonsaidb::core::ordered_varint::Signed   
pub struct Signed(/* private fields */);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§
source§impl<'k> Key<'k> for Signed
 
impl<'k> Key<'k> for Signed
source§const CAN_OWN_BYTES: bool = false
 
const CAN_OWN_BYTES: bool = false
If true, this type can benefit from an owned 
Vec<u8>. This flag is
used as a hint of whether to attempt to do memcpy operations in some
decoding operations to avoid extra allocations.source§fn from_ord_bytes<'e>(
    bytes: ByteSource<'k, 'e>
) -> Result<Signed, <Signed as KeyEncoding>::Error>
 
fn from_ord_bytes<'e>( bytes: ByteSource<'k, 'e> ) -> Result<Signed, <Signed as KeyEncoding>::Error>
Deserialize a sequence of bytes previously encoded with
KeyEncoding::as_ord_bytes.source§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.
source§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.
source§impl KeyEncoding for Signed
 
impl KeyEncoding for Signed
source§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.source§fn describe<Visitor>(visitor: &mut Visitor)where
    Visitor: KeyVisitor,
 
fn describe<Visitor>(visitor: &mut Visitor)where
    Visitor: KeyVisitor,
Describes this type by invoking functions on 
visitor describing the
key being encoded. Read moresource§fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, <Signed as KeyEncoding>::Error>
 
fn as_ord_bytes(&self) -> Result<Cow<'_, [u8]>, <Signed as KeyEncoding>::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.§impl Ord for Signed
 
impl Ord for Signed
§impl PartialOrd for Signed
 
impl PartialOrd 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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
    T: 'a,
 
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
    T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
    T: 'a,
 
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
    T: 'a,
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
§impl<T> CallHasher for T
 
impl<T> CallHasher for T
§impl<Q, K> Comparable<K> for Q
 
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Compare self to 
key and return true if they are equal.