Struct datatypes::VarInt

source ·
pub struct VarInt(/* private fields */);
Expand description

A wrapper struct for a signed 32-bit value, typically used for implementing DataReader and DataWriter. But the writen size of this type can vary based on the size of the data.

Variable-length format such that smaller numbers use fewer bytes. The 7 least significant bits are used to encode the value and the most significant bit indicates whether there’s another byte after it for the next part of the number. The least significant group is written first, followed by each of the more significant groups; thus, VarInts are effectively little endian (however, groups are 7 bits, not 8).

VarInts are never longer than 5 bytes

Trait Implementations§

source§

impl Clone for VarInt

source§

fn clone(&self) -> VarInt

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl DataReader for VarInt

source§

async fn read(reader: &mut (impl AsyncRead + Unpin)) -> Result<Self>
where Self: Sized,

Arguments Read more
source§

impl DataWriter for VarInt

source§

async fn write(&self, writer: &mut (impl AsyncWrite + Unpin)) -> Result<()>

Writes the data of the object into the defined writer Read more
source§

impl Debug for VarInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl GetU64 for VarInt

source§

fn get_u64(&self) -> u64

A function to get the hold value as u64
source§

impl ImportantFunctions for VarInt

§

type InputType = i32

The type needed to construct the type
§

type ReturnType = <VarInt as ImportantFunctions>::InputType

The type returned by get_value
source§

fn new(data: Self::InputType) -> Self

A function that constructs a new instance of the type
source§

fn get_value(&self) -> Self::ReturnType

A function that returns the hold data

Auto Trait Implementations§

§

impl Freeze for VarInt

§

impl RefUnwindSafe for VarInt

§

impl Send for VarInt

§

impl Sync for VarInt

§

impl Unpin for VarInt

§

impl UnwindSafe for VarInt

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.