ModuleTable

Struct ModuleTable 

Source
pub struct ModuleTable {
    pub modules: IndexModules,
}

Fields§

§modules: IndexModules

Methods from Deref<Target = IndexModules>§

Source

pub fn splice<R, It>( &mut self, range: R, replace_with: It, ) -> Splice<'_, <It as IntoIterator>::IntoIter>
where It: IntoIterator<Item = T>, R: IdxRangeBounds<I>,

Creates a splicing iterator that replaces the specified range in the vector with the given replace_with iterator and yields the removed items. See Vec::splice

Source

pub fn drain_enumerated<R>( &mut self, range: R, ) -> Map<Enumerate<Drain<'_, T>>, fn((usize, T)) -> (I, T)>
where R: IdxRangeBounds<I>,

Similar to self.drain(r).enumerate() but with indices of I and not usize.

Source

pub fn next_idx(&self) -> I

Gives the next index that will be assigned when push is called.

Source

pub fn as_raw_slice(&self) -> &[T]

Get a the storage as a &[T]

Source

pub fn as_raw_slice_mut(&mut self) -> &mut [T]

Get a the storage as a &mut [T]

Source

pub fn as_vec(&self) -> &Vec<T>

Equivalent to accessing our raw field, but as a function.

Source

pub fn as_mut_vec(&mut self) -> &mut Vec<T>

Equivalent to accessing our raw field mutably, but as a function, if that’s what you’d prefer.

Source

pub fn push(&mut self, d: T) -> I

Push a new item onto the vector, and return it’s index.

Source

pub fn pop(&mut self) -> Option<T>

Pops the last item off, returning it. See Vec::pop.

Source

pub fn drain<R>(&mut self, range: R) -> Drain<'_, T>
where R: IdxRangeBounds<I>,

Return an iterator that removes the items from the requested range. See Vec::drain.

See also IndexVec::drain_enumerated, which gives you indices (of the correct type) as you iterate.

Source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the vector as much as possible.

Source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the vector with a lower bound.

Source

pub fn truncate(&mut self, a: usize)

Shortens the vector, keeping the first len elements and dropping the rest. See Vec::truncate

Source

pub fn clear(&mut self)

Clear our vector. See Vec::clear.

Source

pub fn reserve(&mut self, c: usize)

Reserve capacity for c more elements. See Vec::reserve

Source

pub fn get<J>(&self, index: J) -> Option<&<J as IdxSliceIndex<I, T>>::Output>
where J: IdxSliceIndex<I, T>,

Get a ref to the item at the provided index, or None for out of bounds.

Source

pub fn get_mut<J>( &mut self, index: J, ) -> Option<&mut <J as IdxSliceIndex<I, T>>::Output>
where J: IdxSliceIndex<I, T>,

Get a mut ref to the item at the provided index, or None for out of bounds

Source

pub fn resize(&mut self, new_len: usize, value: T)
where T: Clone,

Resize ourselves in-place to new_len. See Vec::resize.

Source

pub fn resize_with<F>(&mut self, new_len: usize, f: F)
where F: FnMut() -> T,

Resize ourselves in-place to new_len. See Vec::resize_with.

Source

pub fn append(&mut self, other: &mut IndexVec<I, T>)

Moves all the elements of other into Self, leaving other empty. See Vec::append.

Source

pub fn split_off(&mut self, idx: I) -> IndexVec<I, T>

Splits the collection into two at the given index. See Vec::split_off.

Source

pub fn remove(&mut self, index: I) -> T

Remove the item at index. See Vec::remove.

Source

pub fn swap_remove(&mut self, index: I) -> T

Remove the item at index without maintaining order. See Vec::swap_remove.

Source

pub fn insert(&mut self, index: I, element: T)

Insert an item at index. See Vec::insert.

Source

pub fn extend_from_slice(&mut self, other: &IndexSlice<I, [T]>)
where T: Clone,

Append all items in the slice to the end of our vector.

See Vec::extend_from_slice.

Source

pub fn retain<F>(&mut self, f: F)
where F: FnMut(&T) -> bool,

Forwards to the Vec::retain implementation.

Source

pub fn dedup_by_key<F, K>(&mut self, key: F)
where F: FnMut(&mut T) -> K, K: PartialEq,

Forwards to the Vec::dedup_by_key implementation.

Source

pub fn dedup(&mut self)
where T: PartialEq,

Forwards to the Vec::dedup implementation.

Source

pub fn dedup_by<F>(&mut self, same_bucket: F)
where F: FnMut(&mut T, &mut T) -> bool,

Forwards to the Vec::dedup_by implementation.

Source

pub fn as_slice(&self) -> &IndexSlice<I, [T]>

Get a IndexSlice over this vector. See as_raw_slice for converting to a &[T] (or access self.raw).

Source

pub fn as_mut_slice(&mut self) -> &mut IndexSlice<I, [T]>

Get a mutable IndexSlice over this vector. See as_raw_slice_mut for converting to a &mut [T] (or access self.raw).

Methods from Deref<Target = IndexSlice<I, [A]>>§

Source

pub fn to_vec(&self) -> IndexVec<I, T>
where T: Clone,

Copies self into a new IndexVec.

Source

pub fn as_raw_slice_mut(&mut self) -> &mut [T]

Returns the underlying slice.

Source

pub fn as_raw_slice(&self) -> &[T]

Returns the underlying slice.

Source

pub fn as_mut_ptr(&mut self) -> *mut T

Returns an unsafe mutable pointer to the slice’s buffer.

Source

pub fn as_ptr(&self) -> *const T

Returns an unsafe pointer to the slice’s buffer.

§Panics
Source

pub fn last_idx(&self) -> I

Return the index of the last element, or panic.

§Panics
Source

pub fn len(&self) -> usize

Returns the length of our slice.

Source

pub fn len_idx(&self) -> I

Returns the length of our slice as an I.

Source

pub fn is_empty(&self) -> bool

Returns true if we’re empty.

Source

pub fn iter(&self) -> Iter<'_, T>

Get a iterator over reverences to our values.

See also IndexSlice::iter_enumerated, which gives you indices (of the correct type) as you iterate.

Source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Get a iterator over mut reverences to our values.

See also IndexSlice::iter_mut_enumerated, which gives you indices (of the correct type) as you iterate.

Source

pub fn iter_enumerated( &self, ) -> Map<Enumerate<Iter<'_, T>>, fn((usize, &T)) -> (I, &T)>

Similar to self.iter().enumerate() but with indices of I and not usize.

Source

pub fn indices(&self) -> Map<Range<usize>, fn(usize) -> I>

Get an iterator over all our indices.

Source

pub fn iter_mut_enumerated( &mut self, ) -> Map<Enumerate<IterMut<'_, T>>, fn((usize, &mut T)) -> (I, &mut T)>

Similar to self.iter_mut().enumerate() but with indices of I and not usize.

Source

pub fn sort(&mut self)
where T: Ord,

Forwards to the slice’s sort implementation.

Source

pub fn sort_by<F>(&mut self, compare: F)
where F: FnMut(&T, &T) -> Ordering,

Forwards to the slice’s sort_by implementation.

Source

pub fn sort_by_key<F, K>(&mut self, f: F)
where F: FnMut(&T) -> K, K: Ord,

Forwards to the slice’s sort_by_key implementation.

Source

pub fn sort_by_cached_key<F, K>(&mut self, f: F)
where F: FnMut(&T) -> K, K: Ord,

Forwards to the slice’s sort_by_cached_key implementation.

Source

pub fn sort_unstable(&mut self)
where T: Ord,

Forwards to the slice’s sort_unstable implementation.

Source

pub fn sort_unstable_by<F>(&mut self, compare: F)
where F: FnMut(&T, &T) -> Ordering,

Forwards to the slice’s sort_unstable_by implementation.

Source

pub fn sort_unstable_by_key<F, K>(&mut self, f: F)
where F: FnMut(&T) -> K, K: Ord,

Forwards to the slice’s sort_unstable_by_key implementation.

Source

pub fn ends_with<S>(&self, needle: &S) -> bool
where S: AsRef<[T]> + ?Sized, T: PartialEq,

Forwards to the slice’s ends_with implementation.

Source

pub fn starts_with<S>(&self, needle: &S) -> bool
where S: AsRef<[T]> + ?Sized, T: PartialEq,

Forwards to the slice’s starts_with implementation.

Source

pub fn contains(&self, x: &T) -> bool
where T: PartialEq,

Forwards to the slice’s contains implementation.

Source

pub fn reverse(&mut self)

Forwards to the slice’s reverse implementation.

Call slice::binary_search converting the indices it gives us back as needed.

§Errors
Source

pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<I, I>
where F: FnMut(&'a T) -> Ordering,

Binary searches this sorted vec with a comparator function, converting the indices it gives us back to our Idx type.

§Errors
Source

pub fn copy_from_slice(&mut self, src: &IndexSlice<I, [T]>)
where T: Copy,

Copies all elements from src into self, using a memcpy.

Source

pub fn clone_from_slice(&mut self, src: &IndexSlice<I, [T]>)
where T: Clone,

Copies the elements from src into self.

Source

pub fn swap_with_slice(&mut self, other: &mut IndexSlice<I, [T]>)

Swaps all elements in self with those in other.

Source

pub fn binary_search_by_key<'a, B, F>(&'a self, b: &B, f: F) -> Result<I, I>
where B: Ord, F: FnMut(&'a T) -> B,

Binary searches this sorted vec with a key extraction function, converting the indices it gives us back to our Idx type.

§Errors
Source

pub fn position<F>(&self, f: F) -> Option<I>
where F: FnMut(&T) -> bool,

Searches for an element in an iterator, returning its index. This is equivalent to Iterator::position, but returns I and not usize.

Source

pub fn rposition<F>(&self, f: F) -> Option<I>
where F: FnMut(&T) -> bool,

Searches for an element in an iterator from the right, returning its index. This is equivalent to Iterator::position, but returns I and not usize.

Source

pub fn swap(&mut self, a: I, b: I)

Swaps two elements in our vector.

Source

pub fn split_at(&self, a: I) -> (&IndexSlice<I, [T]>, &IndexSlice<I, [T]>)

Divides our slice into two at an index.

Source

pub fn split_at_mut( &mut self, a: I, ) -> (&mut IndexSlice<I, [T]>, &mut IndexSlice<I, [T]>)

Divides our slice into two at an index.

Source

pub fn rotate_left(&mut self, mid: I)

Rotates our data in-place such that the first mid elements of the slice move to the end while the last self.len() - mid elements move to the front

Source

pub fn rotate_right(&mut self, k: I)

Rotates our data in-place such that the first self.len() - k elements of the slice move to the end while the last k elements move to the front

Source

pub fn last(&self) -> Option<&T>

Return the the last element, if we are not empty.

Source

pub fn last_mut(&mut self) -> Option<&mut T>

Return the the last element, if we are not empty.

Source

pub fn first(&self) -> Option<&T>

Return the the first element, if we are not empty.

Source

pub fn first_mut(&mut self) -> Option<&mut T>

Return the the first element, if we are not empty.

Source

pub fn copy_within<R>(&mut self, src: R, dst: I)
where R: IdxRangeBounds<I>, T: Copy,

Copies elements from one part of the slice to another part of itself, using a memmove.

Source

pub fn get<J>(&self, index: J) -> Option<&<J as IdxSliceIndex<I, T>>::Output>
where J: IdxSliceIndex<I, T>,

Get a ref to the item at the provided index, or None for out of bounds.

Source

pub fn get_mut<J>( &mut self, index: J, ) -> Option<&mut <J as IdxSliceIndex<I, T>>::Output>
where J: IdxSliceIndex<I, T>,

Get a mut ref to the item at the provided index, or None for out of bounds

Source

pub fn windows( &self, size: usize, ) -> Map<Windows<'_, T>, fn(&[T]) -> &IndexSlice<I, [T]>>

Wraps the underlying slice’s windows iterator with one that yields IndexSlices with the correct index type.

Source

pub fn chunks( &self, size: usize, ) -> Map<Chunks<'_, T>, fn(&[T]) -> &IndexSlice<I, [T]>>

Wraps the underlying slice’s chunks iterator with one that yields IndexSlices with the correct index type.

Source

pub fn chunks_mut( &mut self, size: usize, ) -> Map<ChunksMut<'_, T>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>

Wraps the underlying slice’s chunks_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn chunks_exact( &self, chunk_size: usize, ) -> Map<ChunksExact<'_, T>, fn(&[T]) -> &IndexSlice<I, [T]>>

Wraps the underlying slice’s chunks_exact iterator with one that yields IndexSlices with the correct index type.

Source

pub fn chunks_exact_mut( &mut self, chunk_size: usize, ) -> Map<ChunksExactMut<'_, T>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>

Wraps the underlying slice’s chunks_exact_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rchunks( &self, size: usize, ) -> Map<RChunks<'_, T>, fn(&[T]) -> &IndexSlice<I, [T]>>

Wraps the underlying slice’s rchunks iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rchunks_mut( &mut self, size: usize, ) -> Map<RChunksMut<'_, T>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>

Wraps the underlying slice’s rchunks_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rchunks_exact( &self, chunk_size: usize, ) -> Map<RChunksExact<'_, T>, fn(&[T]) -> &IndexSlice<I, [T]>>

Wraps the underlying slice’s rchunks_exact iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rchunks_exact_mut( &mut self, chunk_size: usize, ) -> Map<RChunksExactMut<'_, T>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>

Wraps the underlying slice’s rchunks_exact_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn split<F>( &self, f: F, ) -> Map<Split<'_, T, F>, fn(&[T]) -> &IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s split iterator with one that yields IndexSlices with the correct index type.

Source

pub fn split_mut<F>( &mut self, f: F, ) -> Map<SplitMut<'_, T, F>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s split_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rsplit<F>( &self, f: F, ) -> Map<RSplit<'_, T, F>, fn(&[T]) -> &IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s rsplit iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rsplit_mut<F>( &mut self, f: F, ) -> Map<RSplitMut<'_, T, F>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s rsplit_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn splitn<F>( &self, n: usize, f: F, ) -> Map<SplitN<'_, T, F>, fn(&[T]) -> &IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s splitn iterator with one that yields IndexSlices with the correct index type.

Source

pub fn splitn_mut<F>( &mut self, n: usize, f: F, ) -> Map<SplitNMut<'_, T, F>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s splitn_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rsplitn<F>( &self, n: usize, f: F, ) -> Map<RSplitN<'_, T, F>, fn(&[T]) -> &IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s rsplitn iterator with one that yields IndexSlices with the correct index type.

Source

pub fn rsplitn_mut<F>( &mut self, n: usize, f: F, ) -> Map<RSplitNMut<'_, T, F>, fn(&mut [T]) -> &mut IndexSlice<I, [T]>>
where F: FnMut(&T) -> bool,

Wraps the underlying slice’s rsplitn_mut iterator with one that yields IndexSlices with the correct index type.

Source

pub fn split_first(&self) -> Option<(&T, &IndexSlice<I, [T]>)>

Returns the first and all the rest of the elements of the slice, or None if it is empty.

Source

pub fn split_first_mut(&mut self) -> Option<(&mut T, &mut IndexSlice<I, [T]>)>

Returns the first and all the rest of the elements of the slice, or None if it is empty.

Source

pub fn split_last(&self) -> Option<(&T, &IndexSlice<I, [T]>)>

Returns the last and all the rest of the elements of the slice, or None if it is empty.

Source

pub fn split_last_mut(&mut self) -> Option<(&mut T, &mut IndexSlice<I, [T]>)>

Returns the last and all the rest of the elements of the slice, or None if it is empty.

Trait Implementations§

Source§

impl Clone for ModuleTable

Source§

fn clone(&self) -> ModuleTable

Returns a duplicate 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 ModuleTable

Source§

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

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

impl Default for ModuleTable

Source§

fn default() -> ModuleTable

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

impl Deref for ModuleTable

Source§

type Target = IndexVec<ModuleIdx, Module>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for ModuleTable

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

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

Source§

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 primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

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>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

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 bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

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 mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
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.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

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

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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, 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,