pub struct AutoExposure {
pub range: RangeInclusive<f32>,
pub filter: RangeInclusive<f32>,
pub speed_brighten: f32,
pub speed_darken: f32,
pub exponential_transition_distance: f32,
pub metering_mask: Handle<Image>,
pub compensation_curve: Handle<AutoExposureCompensationCurve>,
}
Expand description
Component that enables auto exposure for an HDR-enabled 2d or 3d camera.
Auto exposure adjusts the exposure of the camera automatically to simulate the human eye’s ability to adapt to different lighting conditions.
Bevy’s implementation builds a 64 bin histogram of the scene’s luminance, and then adjusts the exposure so that the average brightness of the final render will be middle gray. Because it’s using a histogram, some details can be selectively ignored or emphasized. Outliers like shadows and specular highlights can be ignored, and certain areas can be given more (or less) weight based on a mask.
§Usage Notes
Auto Exposure requires compute shaders and is not compatible with WebGL2.
Fields§
§range: RangeInclusive<f32>
The range of exposure values for the histogram.
Pixel values below this range will be ignored, and pixel values above this range will be
clamped in the sense that they will count towards the highest bin in the histogram.
The default value is -8.0..=8.0
.
filter: RangeInclusive<f32>
The portion of the histogram to consider when metering.
By default, the darkest 10% and the brightest 10% of samples are ignored,
so the default value is 0.10..=0.90
.
speed_brighten: f32
The speed at which the exposure adapts from dark to bright scenes, in F-stops per second.
speed_darken: f32
The speed at which the exposure adapts from bright to dark scenes, in F-stops per second.
exponential_transition_distance: f32
The distance in F-stops from the target exposure from where to transition from animating in linear fashion to animating exponentially. This helps against jittering when the target exposure keeps on changing slightly from frame to frame, while still maintaining a relatively slow animation for big changes in scene brightness.
ev
➔●┐
| ⬈ ├ exponential section
│ ⬈ ┘
│ ⬈ ┐
│ ⬈ ├ linear section
│⬈ ┘
●───────────────────────── time
The default value is 1.5.
metering_mask: Handle<Image>
The mask to apply when metering. The mask will cover the entire screen, where:
(0.0, 0.0)
is the top-left corner,(1.0, 1.0)
is the bottom-right corner.
Only the red channel of the texture is used. The sample at the current screen position will be used to weight the contribution of each pixel to the histogram:
- 0.0 means the pixel will not contribute to the histogram,
- 1.0 means the pixel will contribute fully to the histogram.
The default value is a white image, so all pixels contribute equally.
§Usage Notes
The mask is quantized to 16 discrete levels because of limitations in the compute shader implementation.
compensation_curve: Handle<AutoExposureCompensationCurve>
Exposure compensation curve to apply after metering.
The default value is a flat line at 0.0.
For more information, see AutoExposureCompensationCurve
.
Trait Implementations§
Source§impl Clone for AutoExposure
impl Clone for AutoExposure
Source§fn clone(&self) -> AutoExposure
fn clone(&self) -> AutoExposure
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Component for AutoExposure
impl Component for AutoExposure
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>
],
while immutable components will instead have [Component<Mutability = Immutable>
]. Read moreSource§fn register_required_components(
requiree: ComponentId,
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
inheritance_depth: u16,
recursion_check_stack: &mut Vec<ComponentId>,
)
fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn register_component_hooks(hooks: &mut ComponentHooks)
fn register_component_hooks(hooks: &mut ComponentHooks)
Component::on_add
, etc.)ComponentHooks
.Source§fn on_add() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_add() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_insert() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_replace() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_remove() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
fn on_despawn() -> Option<for<'w> fn(_: DeferredWorld<'w>, _: HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
EntityMapper
. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component
, this is populated by annotating fields containing entities with #[entities]
Read moreSource§impl Default for AutoExposure
impl Default for AutoExposure
Source§impl ExtractComponent for AutoExposurewhere
Self: Clone,
impl ExtractComponent for AutoExposurewhere
Self: Clone,
Source§type QueryData = &'static AutoExposure
type QueryData = &'static AutoExposure
ReadOnlyQueryData
to fetch the components to extract.Source§type QueryFilter = ()
type QueryFilter = ()
Source§type Out = AutoExposure
type Out = AutoExposure
Source§impl FromReflect for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
Self
from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetTypeRegistration for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl PartialReflect for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.Self
into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl Struct for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Struct for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
name
as a &dyn PartialReflect
.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
name
as a
&mut dyn PartialReflect
.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
index
as a
&dyn PartialReflect
.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn PartialReflect
.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index
.Source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
fn to_dynamic_struct(&self) -> DynamicStruct
Source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
to_dynamic_struct
insteadDynamicStruct
.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for AutoExposure
impl TypePath for AutoExposure
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl Typed for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for AutoExposurewhere
AutoExposure: Any + Send + Sync,
RangeInclusive<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<Image>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Handle<AutoExposureCompensationCurve>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Auto Trait Implementations§
impl Freeze for AutoExposure
impl !RefUnwindSafe for AutoExposure
impl Send for AutoExposure
impl Sync for AutoExposure
impl Unpin for AutoExposure
impl !UnwindSafe for AutoExposure
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn register_required_components(
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
)
fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )
Bundle
.Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
, which can then be
downcast
into Box<dyn 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>
, which 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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info
.Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§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