Struct CompactU256
pub struct CompactU256(pub Uint<256, 4>);
provider
only.Expand description
Wrapper struct so it can use StructFlags
from Compact, when used as pure table values.
Tuple Fields§
§0: Uint<256, 4>
Implementations§
§impl CompactU256
impl CompactU256
pub const fn bitflag_encoded_bytes() -> usize
pub const fn bitflag_encoded_bytes() -> usize
Used bytes by CompactU256Flags
pub const fn bitflag_unused_bits() -> usize
pub const fn bitflag_unused_bits() -> usize
Unused bits for new fields by CompactU256Flags
Methods from Deref<Target = Uint<256, 4>>§
pub fn to_base_le(&self, base: u64) -> impl Iterator<Item = u64>
Available on crate feature evm
only.
pub fn to_base_le(&self, base: u64) -> impl Iterator<Item = u64>
evm
only.Returns an iterator over the base base
digits of the number in
little-endian order.
Pro tip: instead of setting base = 10
, set it to the highest
power of 10
that still fits u64
. This way much fewer iterations
are required to extract all the digits.
§Panics
Panics if the base is less than 2.
pub fn to_base_be(&self, base: u64) -> impl Iterator<Item = u64>
Available on crate feature evm
only.
pub fn to_base_be(&self, base: u64) -> impl Iterator<Item = u64>
evm
only.Returns an iterator over the base base
digits of the number in
big-endian order.
Pro tip: instead of setting base = 10
, set it to the highest
power of 10
that still fits u64
. This way much fewer iterations
are required to extract all the digits.
Use to_base_be_2
to extract the maximum number
of digits at once more efficiently.
§Panics
Panics if the base is less than 2.
§Examples
let n = ruint::aliases::U64::from(1234);
assert_eq!(n.to_base_be(10).collect::<Vec<_>>(), [1, 2, 3, 4]);
assert_eq!(n.to_base_be(1000000).collect::<Vec<_>>(), [1234]);
// `to_base_be_2` always returns digits maximally packed into `u64`s.
assert_eq!(n.to_base_be_2(10).collect::<Vec<_>>(), [1234]);
assert_eq!(n.to_base_be_2(1000000).collect::<Vec<_>>(), [1234]);
pub fn to_base_be_2(&self, base: u64) -> impl Iterator<Item = u64>
Available on crate feature evm
only.
pub fn to_base_be_2(&self, base: u64) -> impl Iterator<Item = u64>
evm
only.Returns an iterator over the base base
digits of the number in
big-endian order.
Always returns digits maximally packed into u64
s.
Unlike to_base_be
, this method:
- never heap-allocates memory, so it’s always faster
- always returns digits maximally packed into
u64
s, so passing the constant base like2
,8
, instead of the highest power that fits in u64 is not needed
§Panics
Panics if the base is less than 2.
§Examples
See to_base_be
.
pub fn bit(&self, index: usize) -> bool
Available on crate feature evm
only.
pub fn bit(&self, index: usize) -> bool
evm
only.Returns whether a specific bit is set.
Returns false
if index
exceeds the bit width of the number.
pub fn byte(&self, index: usize) -> u8
Available on crate feature evm
only.
pub fn byte(&self, index: usize) -> u8
evm
only.Returns a specific byte. The byte at index 0
is the least significant
byte (little endian).
§Panics
Panics if index
is greater than or equal to the byte width of the
number.
§Examples
let x = uint!(0x1234567890_U64);
let bytes = [
x.byte(0), // 0x90
x.byte(1), // 0x78
x.byte(2), // 0x56
x.byte(3), // 0x34
x.byte(4), // 0x12
x.byte(5), // 0x00
x.byte(6), // 0x00
x.byte(7), // 0x00
];
assert_eq!(bytes, x.to_le_bytes());
Panics if out of range.
let x = uint!(0x1234567890_U64);
let _ = x.byte(8);
pub fn checked_byte(&self, index: usize) -> Option<u8>
Available on crate feature evm
only.
pub fn checked_byte(&self, index: usize) -> Option<u8>
evm
only.Returns a specific byte, or None
if index
is out of range. The byte
at index 0
is the least significant byte (little endian).
§Examples
let x = uint!(0x1234567890_U64);
assert_eq!(x.checked_byte(0), Some(0x90));
assert_eq!(x.checked_byte(7), Some(0x00));
// Out of range
assert_eq!(x.checked_byte(8), None);
pub fn leading_zeros(&self) -> usize
Available on crate feature evm
only.
pub fn leading_zeros(&self) -> usize
evm
only.Returns the number of leading zeros in the binary representation of
self
.
pub fn leading_ones(&self) -> usize
Available on crate feature evm
only.
pub fn leading_ones(&self) -> usize
evm
only.Returns the number of leading ones in the binary representation of
self
.
pub fn trailing_zeros(&self) -> usize
Available on crate feature evm
only.
pub fn trailing_zeros(&self) -> usize
evm
only.Returns the number of trailing zeros in the binary representation of
self
.
pub fn trailing_ones(&self) -> usize
Available on crate feature evm
only.
pub fn trailing_ones(&self) -> usize
evm
only.Returns the number of trailing ones in the binary representation of
self
.
pub fn count_ones(&self) -> usize
Available on crate feature evm
only.
pub fn count_ones(&self) -> usize
evm
only.Returns the number of ones in the binary representation of self
.
pub fn count_zeros(&self) -> usize
Available on crate feature evm
only.
pub fn count_zeros(&self) -> usize
evm
only.Returns the number of zeros in the binary representation of self
.
pub fn bit_len(&self) -> usize
Available on crate feature evm
only.
pub fn bit_len(&self) -> usize
evm
only.Returns the dynamic length of this number in bits, ignoring leading zeros.
For the maximum length of the type, use Uint::BITS
.
pub fn byte_len(&self) -> usize
Available on crate feature evm
only.
pub fn byte_len(&self) -> usize
evm
only.Returns the dynamic length of this number in bytes, ignoring leading zeros.
For the maximum length of the type, use Uint::BYTES
.
pub fn most_significant_bits(&self) -> (u64, usize)
Available on crate feature evm
only.
pub fn most_significant_bits(&self) -> (u64, usize)
evm
only.Returns the most significant 64 bits of the number and the exponent.
Given return value $(\mathtt{bits}, \mathtt{exponent})$, the self
can
be approximated as
$$ \mathtt{self} ≈ \mathtt{bits} ⋅ 2^\mathtt{exponent} $$
If self
is $<≥> 2^{63}$, then exponent
will be zero and bits
will
have leading zeros.
pub const BYTES: usize
pub fn as_le_slice(&self) -> &[u8] ⓘ
Available on crate feature evm
only.
pub fn as_le_slice(&self) -> &[u8] ⓘ
evm
only.Access the underlying store as a little-endian slice of bytes.
Only available on little-endian targets.
If BITS
does not evenly divide 8, it is padded with zero bits in the
most significant position.
pub fn as_le_bytes(&self) -> Cow<'_, [u8]>
Available on crate feature evm
only.
pub fn as_le_bytes(&self) -> Cow<'_, [u8]>
evm
only.Access the underlying store as a little-endian bytes.
Uses an optimized implementation on little-endian targets.
pub fn as_le_bytes_trimmed(&self) -> Cow<'_, [u8]>
Available on crate feature evm
only.
pub fn as_le_bytes_trimmed(&self) -> Cow<'_, [u8]>
evm
only.Access the underlying store as a little-endian bytes with trailing zeros removed.
Uses an optimized implementation on little-endian targets.
pub fn to_le_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
Available on crate feature evm
only.
pub fn to_le_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
evm
only.Converts the Uint
to a little-endian byte array of size exactly
Self::BYTES
.
§Panics
Panics if the generic parameter BYTES
is not exactly Self::BYTES
.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
pub fn to_le_bytes_vec(&self) -> Vec<u8> ⓘ
Available on crate feature evm
only.
pub fn to_le_bytes_vec(&self) -> Vec<u8> ⓘ
evm
only.Converts the Uint
to a little-endian byte vector of size exactly
Self::BYTES
.
This method is useful when Self::to_le_bytes
can not be used because
byte size is not known compile time.
pub fn to_le_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
Available on crate feature evm
only.
pub fn to_le_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
evm
only.Converts the Uint
to a little-endian byte vector with trailing zeros
bytes removed.
pub fn to_be_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
Available on crate feature evm
only.
pub fn to_be_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
evm
only.Converts the Uint
to a big-endian byte array of size exactly
Self::BYTES
.
§Panics
Panics if the generic parameter BYTES
is not exactly Self::BYTES
.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
pub fn to_be_bytes_vec(&self) -> Vec<u8> ⓘ
Available on crate feature evm
only.
pub fn to_be_bytes_vec(&self) -> Vec<u8> ⓘ
evm
only.Converts the Uint
to a big-endian byte vector of size exactly
Self::BYTES
.
This method is useful when Self::to_be_bytes
can not be used because
byte size is not known compile time.
pub fn to_be_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
Available on crate feature evm
only.
pub fn to_be_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
evm
only.Converts the Uint
to a big-endian byte vector with leading zeros
bytes removed.
pub fn copy_le_bytes_to(&self, buf: &mut [u8]) -> usize
Available on crate feature evm
only.
pub fn copy_le_bytes_to(&self, buf: &mut [u8]) -> usize
evm
only.Writes the little-endian representation of the Uint
to the given
buffer. The buffer must be large enough to hold Self::BYTES
bytes.
§Panics
Panics if the buffer is not large enough to hold Self::BYTES
bytes.
§Returns
The number of bytes written to the buffer (always equal to
Self::BYTES
, but often useful to make explicit for encoders).
pub fn checked_copy_le_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
Available on crate feature evm
only.
pub fn checked_copy_le_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
evm
only.Writes the little-endian representation of the Uint
to the given
buffer. The buffer must be large enough to hold Self::BYTES
bytes.
§Returns
None
, if the buffer is not large enough to hold Self::BYTES
bytes, and does not modify the buffer.
Some
with the number of bytes written to the buffer (always
equal to Self::BYTES
, but often useful to make explicit for
encoders).
pub fn copy_be_bytes_to(&self, buf: &mut [u8]) -> usize
Available on crate feature evm
only.
pub fn copy_be_bytes_to(&self, buf: &mut [u8]) -> usize
evm
only.Writes the big-endian representation of the Uint
to the given
buffer. The buffer must be large enough to hold Self::BYTES
bytes.
§Panics
Panics if the buffer is not large enough to hold Self::BYTES
bytes.
§Returns
The number of bytes written to the buffer (always equal to
Self::BYTES
, but often useful to make explicit for encoders).
pub fn checked_copy_be_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
Available on crate feature evm
only.
pub fn checked_copy_be_bytes_to(&self, buf: &mut [u8]) -> Option<usize>
evm
only.Writes the big-endian representation of the Uint
to the given
buffer. The buffer must be large enough to hold Self::BYTES
bytes.
§Returns
None
, if the buffer is not large enough to hold Self::BYTES
bytes, and does not modify the buffer.
Some
with the number of bytes written to the buffer (always
equal to Self::BYTES
, but often useful to make explicit for
encoders).
pub fn const_is_zero(&self) -> bool
Available on crate feature evm
only.
pub fn const_is_zero(&self) -> bool
evm
only.Returns true
if the value is zero.
Note that this currently might perform worse than
is_zero
.
pub fn const_eq(&self, other: &Uint<BITS, LIMBS>) -> bool
Available on crate feature evm
only.
pub fn const_eq(&self, other: &Uint<BITS, LIMBS>) -> bool
evm
only.Returns true
if self
equals other
.
Note that this currently might perform worse than the derived
PartialEq
(==
operator).
pub fn to<T>(&self) -> T
Available on crate feature evm
only.
pub fn to<T>(&self) -> T
evm
only.pub fn wrapping_to<T>(&self) -> T
Available on crate feature evm
only.
pub fn wrapping_to<T>(&self) -> T
evm
only.§Examples
assert_eq!(300_U12.wrapping_to::<i8>(), 44_i8);
assert_eq!(255_U32.wrapping_to::<i8>(), -1_i8);
assert_eq!(0x1337cafec0d3_U256.wrapping_to::<U32>(), 0xcafec0d3_U32);
pub fn saturating_to<T>(&self) -> T
Available on crate feature evm
only.
pub fn saturating_to<T>(&self) -> T
evm
only.§Examples
assert_eq!(300_U12.saturating_to::<i16>(), 300_i16);
assert_eq!(255_U32.saturating_to::<i8>(), 127);
assert_eq!(0x1337cafec0d3_U256.saturating_to::<U32>(), U32::MAX);
pub const LIMBS: usize
pub const MASK: u64
pub const BITS: usize = BITS
pub const ZERO: Uint<BITS, LIMBS>
pub const ONE: Uint<BITS, LIMBS>
pub const MIN: Uint<BITS, LIMBS> = Self::ZERO
pub const MAX: Uint<BITS, LIMBS>
Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for CompactU256
impl<'arbitrary> Arbitrary<'arbitrary> for CompactU256
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<CompactU256, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<CompactU256, Error>
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(
u: Unstructured<'arbitrary>,
) -> Result<CompactU256, Error>
fn arbitrary_take_rest( u: Unstructured<'arbitrary>, ) -> Result<CompactU256, Error>
Self
from the entirety of the given
unstructured data. Read more§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured
this type
needs to construct itself. Read more§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured
this type
needs to construct itself. Read more§impl Clone for CompactU256
impl Clone for CompactU256
§fn clone(&self) -> CompactU256
fn clone(&self) -> CompactU256
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Compact for CompactU256
impl Compact for CompactU256
§fn to_compact<B>(&self, buf: &mut B) -> usize
fn to_compact<B>(&self, buf: &mut B) -> usize
§fn from_compact(buf: &[u8], len: usize) -> (CompactU256, &[u8])
fn from_compact(buf: &[u8], len: usize) -> (CompactU256, &[u8])
buf
with its internal cursor
advanced (eg..advance(len)
). Read more§fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
fn specialized_to_compact<B>(&self, buf: &mut B) -> usize
§fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])
fn specialized_from_compact(buf: &[u8], len: usize) -> (Self, &[u8])
§impl Compress for CompactU256
impl Compress for CompactU256
§type Compressed = Vec<u8>
type Compressed = Vec<u8>
§fn compress_to_buf<B>(&self, buf: &mut B)
fn compress_to_buf<B>(&self, buf: &mut B)
§fn uncompressable_ref(&self) -> Option<&[u8]>
fn uncompressable_ref(&self) -> Option<&[u8]>
Some(self.as_ref())
§fn compress(self) -> Self::Compressed
fn compress(self) -> Self::Compressed
§impl Debug for CompactU256
impl Debug for CompactU256
§impl Decompress for CompactU256
impl Decompress for CompactU256
§fn decompress(value: &[u8]) -> Result<CompactU256, DatabaseError>
fn decompress(value: &[u8]) -> Result<CompactU256, DatabaseError>
§fn decompress_owned(value: Vec<u8>) -> Result<Self, DatabaseError>
fn decompress_owned(value: Vec<u8>) -> Result<Self, DatabaseError>
§impl Default for CompactU256
impl Default for CompactU256
§fn default() -> CompactU256
fn default() -> CompactU256
§impl Deref for CompactU256
impl Deref for CompactU256
§impl<'de> Deserialize<'de> for CompactU256
impl<'de> Deserialize<'de> for CompactU256
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompactU256, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompactU256, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl From<CompactU256> for Uint<256, 4>
impl From<CompactU256> for Uint<256, 4>
§fn from(value: CompactU256) -> Uint<256, 4>
fn from(value: CompactU256) -> Uint<256, 4>
§impl From<Uint<256, 4>> for CompactU256
impl From<Uint<256, 4>> for CompactU256
§fn from(value: Uint<256, 4>) -> CompactU256
fn from(value: Uint<256, 4>) -> CompactU256
§impl PartialEq for CompactU256
impl PartialEq for CompactU256
§impl Serialize for CompactU256
impl Serialize for CompactU256
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for CompactU256
impl StructuralPartialEq for CompactU256
Auto Trait Implementations§
impl Freeze for CompactU256
impl RefUnwindSafe for CompactU256
impl Send for CompactU256
impl Sync for CompactU256
impl Unpin for CompactU256
impl UnwindSafe for CompactU256
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§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
key
and return true
if they are equal.§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
§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
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv
from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute
] value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
[Quirk
] value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition
] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ServiceExt for T
impl<T> ServiceExt for T
§fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
§fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
§fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
§fn compression(self) -> Compression<Self>where
Self: Sized,
fn compression(self) -> Compression<Self>where
Self: Sized,
§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
§fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>where
Self: Sized,
§fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
§fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
§fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
§fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
§fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
§fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
§fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
§fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
x-request-id
as the header name. Read more§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
x-request-id
as the header name. Read more§fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
500 Internal Server
responses. Read more§fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
413 Payload Too Large
responses. Read more§fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
§fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
impl<A> ArbInterop for A
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeCompact for Twhere
T: Compact,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSendSync for T
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> NippyJarHeader for T
impl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for Twhere
T: RpcSend + RpcRecv,
impl<T> RpcRecv for T
impl<T> RpcSend for T
impl<T> Value for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes