pub struct Slider<'a> { /* private fields */ }Expand description
Control a number with a slider.
The slider range defines the values you get when pulling the slider to the far edges.
By default all values are clamped to this range, even when not interacted with.
You can change this behavior by passing false to Slider::clamp_to_range.
The range can include any numbers, and go from low-to-high or from high-to-low.
The slider consists of three parts: a slider, a value display, and an optional text.
The user can click the value display to edit its value. It can be turned off with .show_value(false).
ui.add(egui::Slider::new(&mut my_f32, 0.0..=100.0).text("My value"));The default Slider size is set by crate::style::Spacing::slider_width.
Implementations§
Source§impl<'a> Slider<'a>
impl<'a> Slider<'a>
Sourcepub fn new<Num>(value: &'a mut Num, range: RangeInclusive<Num>) -> Slider<'a>where
Num: Numeric,
pub fn new<Num>(value: &'a mut Num, range: RangeInclusive<Num>) -> Slider<'a>where
Num: Numeric,
Creates a new horizontal slider.
The value given will be clamped to the range,
unless you change this behavior with Self::clamping.
pub fn from_get_set( range: RangeInclusive<f64>, get_set_value: impl FnMut(Option<f64>) -> f64 + 'a, ) -> Slider<'a>
Sourcepub fn show_value(self, show_value: bool) -> Slider<'a>
pub fn show_value(self, show_value: bool) -> Slider<'a>
Control whether or not the slider shows the current value.
Default: true.
Sourcepub fn prefix(self, prefix: impl ToString) -> Slider<'a>
pub fn prefix(self, prefix: impl ToString) -> Slider<'a>
Show a prefix before the number, e.g. “x: “
Sourcepub fn suffix(self, suffix: impl ToString) -> Slider<'a>
pub fn suffix(self, suffix: impl ToString) -> Slider<'a>
Add a suffix to the number, this can be e.g. a unit (“°” or “ m“)
Sourcepub fn text(self, text: impl Into<WidgetText>) -> Slider<'a>
pub fn text(self, text: impl Into<WidgetText>) -> Slider<'a>
Show a text next to the slider (e.g. explaining what the slider controls).
pub fn text_color(self, text_color: Color32) -> Slider<'a>
Sourcepub fn orientation(self, orientation: SliderOrientation) -> Slider<'a>
pub fn orientation(self, orientation: SliderOrientation) -> Slider<'a>
Vertical or horizontal slider? The default is horizontal.
Sourcepub fn logarithmic(self, logarithmic: bool) -> Slider<'a>
pub fn logarithmic(self, logarithmic: bool) -> Slider<'a>
Make this a logarithmic slider. This is great for when the slider spans a huge range, e.g. from one to a million. The default is OFF.
Sourcepub fn smallest_positive(self, smallest_positive: f64) -> Slider<'a>
pub fn smallest_positive(self, smallest_positive: f64) -> Slider<'a>
For logarithmic sliders that includes zero:
what is the smallest positive value you want to be able to select?
The default is 1 for integer sliders and 1e-6 for real sliders.
Sourcepub fn largest_finite(self, largest_finite: f64) -> Slider<'a>
pub fn largest_finite(self, largest_finite: f64) -> Slider<'a>
For logarithmic sliders, the largest positive value we are interested in
before the slider switches to INFINITY, if that is the higher end.
Default: INFINITY.
Sourcepub fn clamping(self, clamping: SliderClamping) -> Slider<'a>
pub fn clamping(self, clamping: SliderClamping) -> Slider<'a>
Controls when the values will be clamped to the range.
§With .clamping(SliderClamping::Always) (default)
let mut my_value: f32 = 1337.0;
ui.add(egui::Slider::new(&mut my_value, 0.0..=1.0));
assert!(0.0 <= my_value && my_value <= 1.0, "Existing value should be clamped");§With .clamping(SliderClamping::Edits)
let mut my_value: f32 = 1337.0;
let response = ui.add(
egui::Slider::new(&mut my_value, 0.0..=1.0)
.clamping(egui::SliderClamping::Edits)
);
if response.dragged() {
// The user edited the value, so it should now be clamped to the range
assert!(0.0 <= my_value && my_value <= 1.0);
}§With .clamping(SliderClamping::Never)
let mut my_value: f32 = 1337.0;
let response = ui.add(
egui::Slider::new(&mut my_value, 0.0..=1.0)
.clamping(egui::SliderClamping::Never)
);
// The user could have set the value to anythingpub fn clamp_to_range(self, clamp_to_range: bool) -> Slider<'a>
Use `slider.clamping(…) instead
Sourcepub fn smart_aim(self, smart_aim: bool) -> Slider<'a>
pub fn smart_aim(self, smart_aim: bool) -> Slider<'a>
Turn smart aim on/off. Default is ON. There is almost no point in turning this off.
Sourcepub fn step_by(self, step: f64) -> Slider<'a>
pub fn step_by(self, step: f64) -> Slider<'a>
Sets the minimal change of the value.
Value 0.0 effectively disables the feature. If the new value is out of range
and clamp_to_range is enabled, you would not have the ability to change the value.
Default: 0.0 (disabled).
Sourcepub fn drag_value_speed(self, drag_value_speed: f64) -> Slider<'a>
pub fn drag_value_speed(self, drag_value_speed: f64) -> Slider<'a>
When dragging the value, how fast does it move?
Unit: values per point (logical pixel).
See also DragValue::speed.
By default this is the same speed as when dragging the slider, but you can change it here to for instance have a much finer control by dragging the slider value rather than the slider itself.
Sourcepub fn min_decimals(self, min_decimals: usize) -> Slider<'a>
pub fn min_decimals(self, min_decimals: usize) -> Slider<'a>
Set a minimum number of decimals to display.
Normally you don’t need to pick a precision, as the slider will intelligently pick a precision for you. Regardless of precision the slider will use “smart aim” to help the user select nice, round values.
Sourcepub fn max_decimals(self, max_decimals: usize) -> Slider<'a>
pub fn max_decimals(self, max_decimals: usize) -> Slider<'a>
Set a maximum number of decimals to display.
Values will also be rounded to this number of decimals. Normally you don’t need to pick a precision, as the slider will intelligently pick a precision for you. Regardless of precision the slider will use “smart aim” to help the user select nice, round values.
pub fn max_decimals_opt(self, max_decimals: Option<usize>) -> Slider<'a>
Sourcepub fn fixed_decimals(self, num_decimals: usize) -> Slider<'a>
pub fn fixed_decimals(self, num_decimals: usize) -> Slider<'a>
Set an exact number of decimals to display.
Values will also be rounded to this number of decimals. Normally you don’t need to pick a precision, as the slider will intelligently pick a precision for you. Regardless of precision the slider will use “smart aim” to help the user select nice, round values.
Sourcepub fn trailing_fill(self, trailing_fill: bool) -> Slider<'a>
pub fn trailing_fill(self, trailing_fill: bool) -> Slider<'a>
Display trailing color behind the slider’s circle. Default is OFF.
This setting can be enabled globally for all sliders with crate::Visuals::slider_trailing_fill.
Toggling it here will override the above setting ONLY for this individual slider.
The fill color will be taken from selection.bg_fill in your crate::Visuals, the same as a crate::ProgressBar.
Sourcepub fn handle_shape(self, handle_shape: HandleShape) -> Slider<'a>
pub fn handle_shape(self, handle_shape: HandleShape) -> Slider<'a>
Change the shape of the slider handle
This setting can be enabled globally for all sliders with crate::Visuals::handle_shape.
Changing it here will override the above setting ONLY for this individual slider.
Sourcepub fn custom_formatter(
self,
formatter: impl Fn(f64, RangeInclusive<usize>) -> String + 'a,
) -> Slider<'a>
pub fn custom_formatter( self, formatter: impl Fn(f64, RangeInclusive<usize>) -> String + 'a, ) -> Slider<'a>
Set custom formatter defining how numbers are converted into text.
A custom formatter takes a f64 for the numeric value and a RangeInclusive<usize> representing
the decimal range i.e. minimum and maximum number of decimal places shown.
The default formatter is crate::Style::number_formatter.
See also: Slider::custom_parser
ui.add(egui::Slider::new(&mut my_i32, 0..=((60 * 60 * 24) - 1))
.custom_formatter(|n, _| {
let n = n as i32;
let hours = n / (60 * 60);
let mins = (n / 60) % 60;
let secs = n % 60;
format!("{hours:02}:{mins:02}:{secs:02}")
})
.custom_parser(|s| {
let parts: Vec<&str> = s.split(':').collect();
if parts.len() == 3 {
parts[0].parse::<i32>().and_then(|h| {
parts[1].parse::<i32>().and_then(|m| {
parts[2].parse::<i32>().map(|s| {
((h * 60 * 60) + (m * 60) + s) as f64
})
})
})
.ok()
} else {
None
}
}));Sourcepub fn custom_parser(
self,
parser: impl Fn(&str) -> Option<f64> + 'a,
) -> Slider<'a>
pub fn custom_parser( self, parser: impl Fn(&str) -> Option<f64> + 'a, ) -> Slider<'a>
Set custom parser defining how the text input is parsed into a number.
A custom parser takes an &str to parse into a number and returns Some if it was successfully parsed
or None otherwise.
See also: Slider::custom_formatter
ui.add(egui::Slider::new(&mut my_i32, 0..=((60 * 60 * 24) - 1))
.custom_formatter(|n, _| {
let n = n as i32;
let hours = n / (60 * 60);
let mins = (n / 60) % 60;
let secs = n % 60;
format!("{hours:02}:{mins:02}:{secs:02}")
})
.custom_parser(|s| {
let parts: Vec<&str> = s.split(':').collect();
if parts.len() == 3 {
parts[0].parse::<i32>().and_then(|h| {
parts[1].parse::<i32>().and_then(|m| {
parts[2].parse::<i32>().map(|s| {
((h * 60 * 60) + (m * 60) + s) as f64
})
})
})
.ok()
} else {
None
}
}));Sourcepub fn binary(self, min_width: usize, twos_complement: bool) -> Slider<'a>
pub fn binary(self, min_width: usize, twos_complement: bool) -> Slider<'a>
Set custom_formatter and custom_parser to display and parse numbers as binary integers. Floating point
numbers are not supported.
min_width specifies the minimum number of displayed digits; if the number is shorter than this, it will be
prefixed with additional 0s to match min_width.
If twos_complement is true, negative values will be displayed as the 2’s complement representation. Otherwise
they will be prefixed with a ‘-’ sign.
§Panics
Panics if min_width is 0.
ui.add(egui::Slider::new(&mut my_i32, -100..=100).binary(64, false));Sourcepub fn octal(self, min_width: usize, twos_complement: bool) -> Slider<'a>
pub fn octal(self, min_width: usize, twos_complement: bool) -> Slider<'a>
Set custom_formatter and custom_parser to display and parse numbers as octal integers. Floating point
numbers are not supported.
min_width specifies the minimum number of displayed digits; if the number is shorter than this, it will be
prefixed with additional 0s to match min_width.
If twos_complement is true, negative values will be displayed as the 2’s complement representation. Otherwise
they will be prefixed with a ‘-’ sign.
§Panics
Panics if min_width is 0.
ui.add(egui::Slider::new(&mut my_i32, -100..=100).octal(22, false));Sourcepub fn hexadecimal(
self,
min_width: usize,
twos_complement: bool,
upper: bool,
) -> Slider<'a>
pub fn hexadecimal( self, min_width: usize, twos_complement: bool, upper: bool, ) -> Slider<'a>
Set custom_formatter and custom_parser to display and parse numbers as hexadecimal integers. Floating point
numbers are not supported.
min_width specifies the minimum number of displayed digits; if the number is shorter than this, it will be
prefixed with additional 0s to match min_width.
If twos_complement is true, negative values will be displayed as the 2’s complement representation. Otherwise
they will be prefixed with a ‘-’ sign.
§Panics
Panics if min_width is 0.
ui.add(egui::Slider::new(&mut my_i32, -100..=100).hexadecimal(16, false, true));Sourcepub fn integer(self) -> Slider<'a>
pub fn integer(self) -> Slider<'a>
Helper: equivalent to self.precision(0).smallest_positive(1.0).
If you use one of the integer constructors (e.g. Slider::i32) this is called for you,
but if you want to have a slider for picking integer values in an Slider::f64, use this.
Sourcepub fn update_while_editing(self, update: bool) -> Slider<'a>
pub fn update_while_editing(self, update: bool) -> Slider<'a>
Update the value on each key press when text-editing the value.
Default: true.
If false, the value will only be updated when user presses enter or deselects the value.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Slider<'a>
impl<'a> !RefUnwindSafe for Slider<'a>
impl<'a> !Send for Slider<'a>
impl<'a> !Sync for Slider<'a>
impl<'a> Unpin for Slider<'a>
impl<'a> UnsafeUnpin for Slider<'a>
impl<'a> !UnwindSafe for Slider<'a>
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<'a, T> BoxedWidgetLocalExt<'a> for Twhere
T: 'a + Widget,
impl<'a, T> BoxedWidgetLocalExt<'a> for Twhere
T: 'a + Widget,
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Source§impl<'a, T> OnResponseExt<'a> for Twhere
T: Widget,
impl<'a, T> OnResponseExt<'a> for Twhere
T: Widget,
type Target = T
fn into_on_response(self) -> OnResponse<'a, <T as OnResponseExt<'a>>::Target>
Source§fn on_response(
self,
on_response: impl FnOnce(Response) -> Response + 'a,
) -> OnResponse<'a, Self::Target>
fn on_response( self, on_response: impl FnOnce(Response) -> Response + 'a, ) -> OnResponse<'a, Self::Target>
Source§fn on_click(self, on_click: impl FnOnce() + 'a) -> OnResponse<'a, Self::Target>
fn on_click(self, on_click: impl FnOnce() + 'a) -> OnResponse<'a, Self::Target>
Source§fn on_hover_ui(
self,
on_hover_ui: impl FnOnce(&mut Ui) + 'a,
) -> OnResponse<'a, Self::Target>
fn on_hover_ui( self, on_hover_ui: impl FnOnce(&mut Ui) + 'a, ) -> OnResponse<'a, Self::Target>
Source§fn on_disabled_hover_ui(
self,
on_hover_ui: impl FnOnce(&mut Ui) + 'a,
) -> OnResponse<'a, Self::Target>
fn on_disabled_hover_ui( self, on_hover_ui: impl FnOnce(&mut Ui) + 'a, ) -> OnResponse<'a, Self::Target>
Source§fn on_hover_text(
self,
hover_text: impl Into<WidgetText> + 'a,
) -> OnResponse<'a, Self::Target>
fn on_hover_text( self, hover_text: impl Into<WidgetText> + 'a, ) -> OnResponse<'a, Self::Target>
Source§fn on_disabled_hover_text(
self,
hover_text: impl Into<WidgetText> + 'a,
) -> OnResponse<'a, Self::Target>
fn on_disabled_hover_text( self, hover_text: impl Into<WidgetText> + 'a, ) -> OnResponse<'a, Self::Target>
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§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 moreSource§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 moreSource§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
Source§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
Source§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.Source§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.Source§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.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Source§impl<T> Tap for T
impl<T> Tap for T
Source§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.