Struct Integer

Source
pub struct Integer(/* private fields */);
Expand description

A dynamically sized integer type. This type is similar to num_bigint::BigInt in that it allows for integers of arbitary size making it ideal for handling ASN.1 INTEGER types, in addition this type includes small integer optimisations accounting for the fact integers decoded in ASN.1 don’t exceed native platform widths.

Implementations§

Source§

impl Integer

Source

pub const ZERO: Self

Represents 0.

Source

pub const ONE: Self

Represents 1.

Trait Implementations§

Source§

impl Add<i128> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i128) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i16> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i16) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i32> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i32) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i64> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i64) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i8> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<isize> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: isize) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<u128> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: u128) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<u16> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: u16) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<u32> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: u32) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<u64> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: u64) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<u8> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: u8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<usize> for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: usize) -> Self::Output

Performs the + operation. Read more
Source§

impl Add for Integer

Source§

type Output = Integer

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl AsnType for Integer

Source§

const TAG: Tag = Tag::INTEGER

The associated tag for the type. Read more
Source§

const IDENTIFIER: Identifier = Identifier::INTEGER

Identifier of an ASN.1 type as specified in the original specification if not identical with the identifier of Self
Source§

const TAG_TREE: TagTree = _

The root of this type’s tree of tag’s if it a CHOICE type, otherwise its Leaf that points Self::TAG.
Source§

const CONSTRAINTS: Constraints = Constraints::NONE

The set of constraints for values of the given type.
Source§

fn is_present(&self) -> bool

Whether the type is present with value. OPTIONAL fields are common in SEQUENCE or SET. Read more
Source§

impl CheckedAdd for Integer

Source§

fn checked_add(&self, other: &Self) -> Option<Self>

Adds two numbers, checking for overflow. If overflow happens, None is returned.
Source§

impl CheckedSub for Integer

Source§

fn checked_sub(&self, other: &Self) -> Option<Self>

Subtracts two numbers, checking for underflow. If underflow happens, None is returned.
Source§

impl Clone for Integer

Source§

fn clone(&self) -> Integer

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 Debug for Integer

Source§

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

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

impl Decode for Integer

Source§

fn decode_with_tag_and_constraints<D: Decoder>( decoder: &mut D, tag: Tag, constraints: Constraints, ) -> Result<Self, D::Error>

Decode this value implicitly tagged with tag from a given ASN.1 decoder with a set of constraints on what values of that type are allowed. Read more
Source§

fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, D::Error>

Decode this value from a given ASN.1 decoder. Read more
Source§

fn decode_with_tag<D: Decoder>( decoder: &mut D, tag: Tag, ) -> Result<Self, D::Error>

Decode this value implicitly tagged with tag from a given ASN.1 decoder. Read more
Source§

fn decode_with_constraints<D: Decoder>( decoder: &mut D, constraints: Constraints, ) -> Result<Self, D::Error>

Decode this value from a given ASN.1 decoder with a set of constraints on what values of that type are allowed. Read more
Source§

impl Default for Integer

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for Integer

Source§

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

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

impl Encode for Integer

Source§

fn encode_with_tag_and_constraints<'b, E: Encoder<'b>>( &self, encoder: &mut E, tag: Tag, constraints: Constraints, identifier: Identifier, ) -> Result<(), E::Error>

Encode this value with tag into the given crate::Encoder with the constraints the values this is allowed to encode into. Read more
Source§

fn encode<'b, E: Encoder<'b>>(&self, encoder: &mut E) -> Result<(), E::Error>

Encodes self’s data into the given crate::Encoder. Read more
Source§

fn encode_with_tag<'b, E: Encoder<'b>>( &self, encoder: &mut E, tag: Tag, ) -> Result<(), E::Error>

Encode this value with tag into the given crate::Encoder. Read more
Source§

fn encode_with_identifier<'b, E: Encoder<'b>>( &self, encoder: &mut E, identifier: Identifier, ) -> Result<(), E::Error>

Encode this value with identifier into the given crate::Encoder. Read more
Source§

fn encode_with_tag_and_identifier<'b, E: Encoder<'b>>( &self, encoder: &mut E, tag: Tag, identifier: Identifier, ) -> Result<(), E::Error>

Encode this value with tag and identifier into the given crate::Encoder. Read more
Source§

fn encode_with_constraints<'b, E: Encoder<'b>>( &self, encoder: &mut E, constraints: Constraints, ) -> Result<(), E::Error>

Encode this value into the given crate::Encoder with the constraints the values this is allowed to encode into. Read more
Source§

fn encode_with_constraints_and_identifier<'b, E: Encoder<'b>>( &self, encoder: &mut E, constraints: Constraints, identifier: Identifier, ) -> Result<(), E::Error>

Encode this value into the given crate::Encoder with identifier and the constraints the values this is allowed to encode into. Read more
Source§

impl From<BigInt> for Integer

Source§

fn from(value: BigInt) -> Self

Converts to this type from the input type.
Source§

impl From<Integer> for BigInt

Source§

fn from(value: Integer) -> Self

Converts to this type from the input type.
Source§

impl From<i128> for Integer

Source§

fn from(value: i128) -> Self

Converts to this type from the input type.
Source§

impl From<i16> for Integer

Source§

fn from(value: i16) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Integer

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl From<i64> for Integer

Source§

fn from(value: i64) -> Self

Converts to this type from the input type.
Source§

impl From<i8> for Integer

Source§

fn from(value: i8) -> Self

Converts to this type from the input type.
Source§

impl From<isize> for Integer

Source§

fn from(value: isize) -> Self

Converts to this type from the input type.
Source§

impl From<u128> for Integer

Source§

fn from(value: u128) -> Self

Converts to this type from the input type.
Source§

impl From<u16> for Integer

Source§

fn from(value: u16) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for Integer

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl From<u64> for Integer

Source§

fn from(value: u64) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Integer

Source§

fn from(value: u8) -> Self

Converts to this type from the input type.
Source§

impl From<usize> for Integer

Source§

fn from(value: usize) -> Self

Converts to this type from the input type.
Source§

impl Hash for Integer

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntegerType for Integer

Source§

const WIDTH: u32 = 4_294_967_295u32

The bit level width of the integer (e.g. u32 is 32 bits).
Source§

const ZERO: Integer = Integer::ZERO

Represents 0 in a given integer.
Source§

type UnsignedPair = Integer

Self as an unsigned type with the same width.
Source§

type SignedPair = Integer

Self as a signed type with one type size larger to prevent truncation, in case Self is unsigned. (e.g. u8 -> i16) Truncation would happen if unsigned type is converted to signed bytes with the same size.
Source§

fn try_from_bytes(input: &[u8], codec: Codec) -> Result<Self, DecodeError>

Attempts to convert the input data matching the given codec into Self. Read more
Source§

fn try_from_signed_bytes( input: &[u8], codec: Codec, ) -> Result<Self, DecodeError>

Attempts to convert the input data (assuming signed bytes) matching the given codec into Self. Read more
Source§

fn try_from_unsigned_bytes( input: &[u8], codec: Codec, ) -> Result<Self, DecodeError>

Attempts to convert the input data (assuming unsigned bytes) matching the given codec into Self. Read more
Source§

fn to_signed_bytes_be(&self) -> (impl AsRef<[u8]>, usize)

Returns a minimum number of signed Big Endian bytes needed to present the integer, byte count defined by usize.
Source§

fn to_unsigned_bytes_be(&self) -> (impl AsRef<[u8]>, usize)

Returns minimum number defined by usize of unsigned Big-endian bytes needed to present the the integer.
Source§

fn wrapping_unsigned_add(self, other: Self) -> Self

Makes it possible to add unsigned integer to signed integer This is mainly used on UPER, in order to add unsigned offset into signed constrained minimum to get the resulting value as correct type. Casting will change the “value”, but same width makes the result ending to be correct.
Source§

fn is_negative(&self) -> bool

Whether the integer value is negative or not.
Source§

fn is_signed(&self) -> bool

Whether the integer type is signed or not.
Source§

fn to_integer(self) -> Integer

Convert the underlying integer type into rasn ASN.1 Integer type.
Source§

const BYTE_WIDTH: usize = _

The byte level width of the integer(e.g. u32 is 4 bytes).
Source§

impl Ord for Integer

Source§

fn cmp(&self, other: &Integer) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Integer

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Integer

Source§

fn partial_cmp(&self, other: &Integer) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub<i128> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i128) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i16> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i16) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i32> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i32) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i64> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i64) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i8> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<isize> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: isize) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<u128> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: u128) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<u16> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: u16) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<u32> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: u32) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<u64> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: u64) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<u8> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: u8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<usize> for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: usize) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub for Integer

Source§

type Output = Integer

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl ToBigInt for Integer

Source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.
Source§

impl ToPrimitive for Integer

Source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.
Source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.
Source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned. Read more
Source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.
Source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.
Source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.
Source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.
Source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.
Source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.
Source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
Source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
Source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned. Read more
Source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.
Source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64. Read more
Source§

impl TryFrom<&Integer> for i128

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for i16

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for i32

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for i64

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for i8

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for isize

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for u128

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for u16

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for u32

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for u64

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for u8

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Integer> for usize

Source§

type Error = TryFromIntegerError

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

fn try_from(value: &Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for i128

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for i16

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for i32

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for i64

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for i8

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for isize

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for u128

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for u16

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for u32

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for u64

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for u8

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Integer> for usize

Source§

type Error = TryFromIntegerError

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

fn try_from(value: Integer) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl Eq for Integer

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

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

Source§

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

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

Source§

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>,

Source§

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.