pub struct BasicType {
pub id: BasicTypeId,
pub kind: BasicTypeKind,
pub total_size: MemorySize,
pub max_alignment: MemoryAlignment,
}
Fields§
§id: BasicTypeId
§kind: BasicTypeKind
§total_size: MemorySize
§max_alignment: MemoryAlignment
Implementations§
Source§impl BasicType
impl BasicType
pub const fn is_vec_like(&self) -> bool
pub fn element(&self) -> Option<BasicTypeRef>
pub const fn is_collection(&self) -> bool
pub fn might_contain_collections(&self) -> bool
pub const fn is_collection_like(&self) -> bool
pub const fn is_collection_with_capacity(&self) -> bool
Source§impl BasicType
impl BasicType
pub const fn should_be_copied_back_when_mutable_arg_or_return(&self) -> bool
Source§impl BasicType
impl BasicType
pub fn referenced_type(&self) -> &Self
Source§impl BasicType
impl BasicType
pub const fn make_pointer(&self) -> Self
Source§impl BasicType
impl BasicType
pub fn get_variant(&self, variant_index: usize) -> &TaggedUnionVariant
Source§impl BasicType
impl BasicType
pub const fn is_scalar(&self) -> bool
pub const fn is_reg_copy(&self) -> bool
pub const fn is_scratch_arena_allocated(&self) -> bool
pub const fn is_mutable_reference(&self) -> bool
Source§impl BasicType
impl BasicType
pub const fn unwrap_info( &self, ) -> Option<(MemoryOffset, MemorySize, MemoryOffset, MemorySize)>
pub fn union_info(&self) -> &TaggedUnion
pub fn create_mutable_pointer(&self) -> Self
pub const fn is_aggregate(&self) -> bool
pub const fn optional_info(&self) -> Option<&TaggedUnion>
pub fn get_field_offset(&self, index: usize) -> Option<&OffsetMemoryItem>
pub fn bucket_size_for_vec_like(&self) -> Option<MemorySize>
pub const fn header_size_for_vec_like(&self) -> Option<MemorySize>
pub fn element_pair(&self) -> Option<(&OffsetMemoryItem, &OffsetMemoryItem)>
pub fn is_int(&self) -> bool
pub fn is_codepoint(&self) -> bool
pub fn is_float(&self) -> bool
pub fn is_str(&self) -> bool
pub fn is_bool(&self) -> bool
pub fn is_byte(&self) -> bool
Source§impl BasicType
impl BasicType
Sourcepub fn universal_hash<H: Hasher>(&self, state: &mut H)
pub fn universal_hash<H: Hasher>(&self, state: &mut H)
Computes a universal hash based on the type’s structure, independent of application-specific IDs. This is useful for RPC calls and serialization in general.
Two types with the same structure will have the same universal hash across different applications,
even if they have different BasicTypeId
values.
Sourcepub fn universal_hash_u64(&self) -> u64
pub fn universal_hash_u64(&self) -> u64
Computes a universal hash and returns it as an u64.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BasicType
impl RefUnwindSafe for BasicType
impl !Send for BasicType
impl !Sync for BasicType
impl Unpin for BasicType
impl UnwindSafe for BasicType
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,
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§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();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§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();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§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();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§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();
Source§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.Source§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);