Skip to main content

CauseCodeChoice

Enum CauseCodeChoice 

Source
pub enum CauseCodeChoice {
Show 129 variants reserved0(SubCauseCodeType), trafficCondition1(TrafficConditionSubCauseCode), accident2(AccidentSubCauseCode), roadworks3(RoadworksSubCauseCode), reserved4(SubCauseCodeType), impassability5(ImpassabilitySubCauseCode), adverseWeatherCondition_Adhesion6(AdverseWeatherConditionAdhesionSubCauseCode), aquaplaning7(SubCauseCodeType), reserved8(SubCauseCodeType), hazardousLocation_SurfaceCondition9(HazardousLocationSurfaceConditionSubCauseCode), hazardousLocation_ObstacleOnTheRoad10(HazardousLocationObstacleOnTheRoadSubCauseCode), hazardousLocation_AnimalOnTheRoad11(HazardousLocationAnimalOnTheRoadSubCauseCode), humanPresenceOnTheRoad12(HumanPresenceOnTheRoadSubCauseCode), reserved13(SubCauseCodeType), wrongWayDriving14(WrongWayDrivingSubCauseCode), rescueAndRecoveryWorkInProgress15(RescueAndRecoveryWorkInProgressSubCauseCode), reserved16(SubCauseCodeType), adverseWeatherCondition_ExtremeWeatherCondition17(AdverseWeatherConditionExtremeWeatherConditionSubCauseCode), adverseWeatherCondition_Visibility18(AdverseWeatherConditionVisibilitySubCauseCode), adverseWeatherCondition_Precipitation19(AdverseWeatherConditionPrecipitationSubCauseCode), violence20(SubCauseCodeType), reserved21(SubCauseCodeType), reserved22(SubCauseCodeType), reserved23(SubCauseCodeType), reserved24(SubCauseCodeType), reserved25(SubCauseCodeType), slowVehicle26(SlowVehicleSubCauseCode), dangerousEndOfQueue27(DangerousEndOfQueueSubCauseCode), publicTransportVehicleApproaching28(SubCauseCodeType), reserved29(SubCauseCodeType), reserved30(SubCauseCodeType), reserved31(SubCauseCodeType), reserved32(SubCauseCodeType), reserved33(SubCauseCodeType), reserved34(SubCauseCodeType), reserved35(SubCauseCodeType), reserved36(SubCauseCodeType), reserved37(SubCauseCodeType), reserved38(SubCauseCodeType), reserved39(SubCauseCodeType), reserved40(SubCauseCodeType), reserved41(SubCauseCodeType), reserved42(SubCauseCodeType), reserved43(SubCauseCodeType), reserved44(SubCauseCodeType), reserved45(SubCauseCodeType), reserved46(SubCauseCodeType), reserved47(SubCauseCodeType), reserved48(SubCauseCodeType), reserved49(SubCauseCodeType), reserved50(SubCauseCodeType), reserved51(SubCauseCodeType), reserved52(SubCauseCodeType), reserved53(SubCauseCodeType), reserved54(SubCauseCodeType), reserved55(SubCauseCodeType), reserved56(SubCauseCodeType), reserved57(SubCauseCodeType), reserved58(SubCauseCodeType), reserved59(SubCauseCodeType), reserved60(SubCauseCodeType), reserved61(SubCauseCodeType), reserved62(SubCauseCodeType), reserved63(SubCauseCodeType), reserved64(SubCauseCodeType), reserved65(SubCauseCodeType), reserved66(SubCauseCodeType), reserved67(SubCauseCodeType), reserved68(SubCauseCodeType), reserved69(SubCauseCodeType), reserved70(SubCauseCodeType), reserved71(SubCauseCodeType), reserved72(SubCauseCodeType), reserved73(SubCauseCodeType), reserved74(SubCauseCodeType), reserved75(SubCauseCodeType), reserved76(SubCauseCodeType), reserved77(SubCauseCodeType), reserved78(SubCauseCodeType), reserved79(SubCauseCodeType), reserved80(SubCauseCodeType), reserved81(SubCauseCodeType), reserved82(SubCauseCodeType), reserved83(SubCauseCodeType), reserved84(SubCauseCodeType), reserved85(SubCauseCodeType), reserved86(SubCauseCodeType), reserved87(SubCauseCodeType), reserved88(SubCauseCodeType), reserved89(SubCauseCodeType), reserved90(SubCauseCodeType), vehicleBreakdown91(VehicleBreakdownSubCauseCode), postCrash92(PostCrashSubCauseCode), humanProblem93(HumanProblemSubCauseCode), stationaryVehicle94(StationaryVehicleSubCauseCode), emergencyVehicleApproaching95(EmergencyVehicleApproachingSubCauseCode), hazardousLocation_DangerousCurve96(HazardousLocationDangerousCurveSubCauseCode), collisionRisk97(CollisionRiskSubCauseCode), signalViolation98(SignalViolationSubCauseCode), dangerousSituation99(DangerousSituationSubCauseCode), railwayLevelCrossing100(RailwayLevelCrossingSubCauseCode), reserved101(SubCauseCodeType), reserved102(SubCauseCodeType), reserved103(SubCauseCodeType), reserved104(SubCauseCodeType), reserved105(SubCauseCodeType), reserved106(SubCauseCodeType), reserved107(SubCauseCodeType), reserved108(SubCauseCodeType), reserved109(SubCauseCodeType), reserved110(SubCauseCodeType), reserved111(SubCauseCodeType), reserved112(SubCauseCodeType), reserved113(SubCauseCodeType), reserved114(SubCauseCodeType), reserved115(SubCauseCodeType), reserved116(SubCauseCodeType), reserved117(SubCauseCodeType), reserved118(SubCauseCodeType), reserved119(SubCauseCodeType), reserved120(SubCauseCodeType), reserved121(SubCauseCodeType), reserved122(SubCauseCodeType), reserved123(SubCauseCodeType), reserved124(SubCauseCodeType), reserved125(SubCauseCodeType), reserved126(SubCauseCodeType), reserved127(SubCauseCodeType), reserved128(SubCauseCodeType),
}
Available on crate feature _etsi and (crate features _cdd_2_2_1 or _etsi) only.
Expand description

This DF is a representation of the cause code value and associated sub cause code value of a traffic event.

The following options are available:

  • 0 - reserved for future use,
  • 1 - trafficCondition1 - in case the type of event is an abnormal traffic condition,
  • 2 - accident2 - in case the type of event is a road accident,
  • 3 - roadworks3 - in case the type of event is roadwork,
  • 4 - reserved for future usage,
  • 5 - impassability5 - in case the type of event is unmanaged road blocking, referring to any blocking of a road, partial or total, which has not been adequately secured and signposted,
  • 6 - adverseWeatherCondition-Adhesion6 - in case the type of event is low adhesion,
  • 7 - aquaplaning7 - danger of aquaplaning on the road,
  • 8 - reserved for future usage,
  • 9 - hazardousLocation-SurfaceCondition9 - in case the type of event is abnormal road surface condition,
  • 10 - hazardousLocation-ObstacleOnTheRoad10 - in case the type of event is obstacle on the road,
  • 11 - hazardousLocation-AnimalOnTheRoad11 - in case the type of event is animal on the road,
  • 12 - humanPresenceOnTheRoad - in case the type of event is presence of human vulnerable road user on the road,
  • 13 - reserved for future usage,
  • 14 - wrongWayDriving14 - in case the type of the event is vehicle driving in wrong way,
  • 15 - rescueAndRecoveryWorkInProgress15 - in case the type of event is rescue and recovery work for accident or for a road hazard in progress,
  • 16 - reserved for future usage,
  • 17 - adverseWeatherCondition-ExtremeWeatherCondition17 - in case the type of event is extreme weather condition,
  • 18 - adverseWeatherCondition-Visibility18 - in case the type of event is low visibility,
  • 19 - adverseWeatherCondition-Precipitation19 - in case the type of event is precipitation,
  • 20 - violence20 - in case the the type of event is human violence on or near the road,
  • 21-25 - reserved for future usage,
  • 26 - slowVehicle26 - in case the type of event is slow vehicle driving on the road,
  • 27 - dangerousEndOfQueue27 - in case the type of event is dangerous end of vehicle queue,
  • 28 - `publicTransportVehicleApproaching - in case the type of event is a public transport vehicle approaching, with a priority defined by applicable traffic regulations,
  • 29-90 - are reserved for future usage,
  • 91 - vehicleBreakdown91 - in case the type of event is break down vehicle on the road,
  • 92 - postCrash92 - in case the type of event is a detected crash,
  • 93 - humanProblem93 - in case the type of event is human health problem in vehicles involved in traffic,
  • 94 - stationaryVehicle94 - in case the type of event is stationary vehicle,
  • 95 - emergencyVehicleApproaching95 - in case the type of event is an approaching vehicle operating on a mission for which the applicable traffic regulations provide it with defined priority rights in traffic.
  • 96 - hazardousLocation-DangerousCurve96 - in case the type of event is dangerous curve,
  • 97 - collisionRisk97 - in case the type of event is a collision risk,
  • 98 - signalViolation98 - in case the type of event is signal violation,
  • 99 - dangerousSituation99 - in case the type of event is dangerous situation in which autonomous safety system in vehicle is activated,
  • 100 - railwayLevelCrossing100 - in case the type of event is a railway level crossing.
  • 101-255 - are reserved for future usage.

@note: this DF is defined for use as part of CauseCodeV2. It is recommended to use CauseCodeV2.

@category: Traffic information

@revision: Created in V2.1.1, the type of impassability5 changed to ImpassabilitySubCauseCode in V2.2.1, value 28 added in V2.2.1, definition of value 12 and 95 changed in V2.2.1

Variants§

§

reserved0(SubCauseCodeType)

§

trafficCondition1(TrafficConditionSubCauseCode)

§

accident2(AccidentSubCauseCode)

§

roadworks3(RoadworksSubCauseCode)

§

reserved4(SubCauseCodeType)

§

impassability5(ImpassabilitySubCauseCode)

§

adverseWeatherCondition_Adhesion6(AdverseWeatherConditionAdhesionSubCauseCode)

§

aquaplaning7(SubCauseCodeType)

§

reserved8(SubCauseCodeType)

§

hazardousLocation_SurfaceCondition9(HazardousLocationSurfaceConditionSubCauseCode)

§

hazardousLocation_ObstacleOnTheRoad10(HazardousLocationObstacleOnTheRoadSubCauseCode)

§

hazardousLocation_AnimalOnTheRoad11(HazardousLocationAnimalOnTheRoadSubCauseCode)

§

humanPresenceOnTheRoad12(HumanPresenceOnTheRoadSubCauseCode)

§

reserved13(SubCauseCodeType)

§

wrongWayDriving14(WrongWayDrivingSubCauseCode)

§

rescueAndRecoveryWorkInProgress15(RescueAndRecoveryWorkInProgressSubCauseCode)

§

reserved16(SubCauseCodeType)

§

adverseWeatherCondition_ExtremeWeatherCondition17(AdverseWeatherConditionExtremeWeatherConditionSubCauseCode)

§

adverseWeatherCondition_Visibility18(AdverseWeatherConditionVisibilitySubCauseCode)

§

adverseWeatherCondition_Precipitation19(AdverseWeatherConditionPrecipitationSubCauseCode)

§

violence20(SubCauseCodeType)

§

reserved21(SubCauseCodeType)

§

reserved22(SubCauseCodeType)

§

reserved23(SubCauseCodeType)

§

reserved24(SubCauseCodeType)

§

reserved25(SubCauseCodeType)

§

slowVehicle26(SlowVehicleSubCauseCode)

§

dangerousEndOfQueue27(DangerousEndOfQueueSubCauseCode)

§

publicTransportVehicleApproaching28(SubCauseCodeType)

§

reserved29(SubCauseCodeType)

§

reserved30(SubCauseCodeType)

§

reserved31(SubCauseCodeType)

§

reserved32(SubCauseCodeType)

§

reserved33(SubCauseCodeType)

§

reserved34(SubCauseCodeType)

§

reserved35(SubCauseCodeType)

§

reserved36(SubCauseCodeType)

§

reserved37(SubCauseCodeType)

§

reserved38(SubCauseCodeType)

§

reserved39(SubCauseCodeType)

§

reserved40(SubCauseCodeType)

§

reserved41(SubCauseCodeType)

§

reserved42(SubCauseCodeType)

§

reserved43(SubCauseCodeType)

§

reserved44(SubCauseCodeType)

§

reserved45(SubCauseCodeType)

§

reserved46(SubCauseCodeType)

§

reserved47(SubCauseCodeType)

§

reserved48(SubCauseCodeType)

§

reserved49(SubCauseCodeType)

§

reserved50(SubCauseCodeType)

§

reserved51(SubCauseCodeType)

§

reserved52(SubCauseCodeType)

§

reserved53(SubCauseCodeType)

§

reserved54(SubCauseCodeType)

§

reserved55(SubCauseCodeType)

§

reserved56(SubCauseCodeType)

§

reserved57(SubCauseCodeType)

§

reserved58(SubCauseCodeType)

§

reserved59(SubCauseCodeType)

§

reserved60(SubCauseCodeType)

§

reserved61(SubCauseCodeType)

§

reserved62(SubCauseCodeType)

§

reserved63(SubCauseCodeType)

§

reserved64(SubCauseCodeType)

§

reserved65(SubCauseCodeType)

§

reserved66(SubCauseCodeType)

§

reserved67(SubCauseCodeType)

§

reserved68(SubCauseCodeType)

§

reserved69(SubCauseCodeType)

§

reserved70(SubCauseCodeType)

§

reserved71(SubCauseCodeType)

§

reserved72(SubCauseCodeType)

§

reserved73(SubCauseCodeType)

§

reserved74(SubCauseCodeType)

§

reserved75(SubCauseCodeType)

§

reserved76(SubCauseCodeType)

§

reserved77(SubCauseCodeType)

§

reserved78(SubCauseCodeType)

§

reserved79(SubCauseCodeType)

§

reserved80(SubCauseCodeType)

§

reserved81(SubCauseCodeType)

§

reserved82(SubCauseCodeType)

§

reserved83(SubCauseCodeType)

§

reserved84(SubCauseCodeType)

§

reserved85(SubCauseCodeType)

§

reserved86(SubCauseCodeType)

§

reserved87(SubCauseCodeType)

§

reserved88(SubCauseCodeType)

§

reserved89(SubCauseCodeType)

§

reserved90(SubCauseCodeType)

§

vehicleBreakdown91(VehicleBreakdownSubCauseCode)

§

postCrash92(PostCrashSubCauseCode)

§

humanProblem93(HumanProblemSubCauseCode)

§

stationaryVehicle94(StationaryVehicleSubCauseCode)

§

emergencyVehicleApproaching95(EmergencyVehicleApproachingSubCauseCode)

§

hazardousLocation_DangerousCurve96(HazardousLocationDangerousCurveSubCauseCode)

§

collisionRisk97(CollisionRiskSubCauseCode)

§

signalViolation98(SignalViolationSubCauseCode)

§

dangerousSituation99(DangerousSituationSubCauseCode)

§

railwayLevelCrossing100(RailwayLevelCrossingSubCauseCode)

§

reserved101(SubCauseCodeType)

§

reserved102(SubCauseCodeType)

§

reserved103(SubCauseCodeType)

§

reserved104(SubCauseCodeType)

§

reserved105(SubCauseCodeType)

§

reserved106(SubCauseCodeType)

§

reserved107(SubCauseCodeType)

§

reserved108(SubCauseCodeType)

§

reserved109(SubCauseCodeType)

§

reserved110(SubCauseCodeType)

§

reserved111(SubCauseCodeType)

§

reserved112(SubCauseCodeType)

§

reserved113(SubCauseCodeType)

§

reserved114(SubCauseCodeType)

§

reserved115(SubCauseCodeType)

§

reserved116(SubCauseCodeType)

§

reserved117(SubCauseCodeType)

§

reserved118(SubCauseCodeType)

§

reserved119(SubCauseCodeType)

§

reserved120(SubCauseCodeType)

§

reserved121(SubCauseCodeType)

§

reserved122(SubCauseCodeType)

§

reserved123(SubCauseCodeType)

§

reserved124(SubCauseCodeType)

§

reserved125(SubCauseCodeType)

§

reserved126(SubCauseCodeType)

§

reserved127(SubCauseCodeType)

§

reserved128(SubCauseCodeType)

Implementations§

Source§

impl CauseCodeChoice

Source

pub fn to_u8_tuple(&self) -> (u8, u8)

Available on crate feature _cdd_2_2_1 only.

Converts a Cause Code to an integer tuple of cause code and sub cause code ID

Trait Implementations§

Source§

impl AsnType for CauseCodeChoice

Source§

const TAG: Tag = { rasn::types::Tag::EOC }

The associated tag for the type. Read more
Source§

const TAG_TREE: TagTree

The root of this type’s tree of tag’s if it a CHOICE type, otherwise its Leaf that points Self::TAG.
Source§

const IDENTIFIER: Identifier

Identifier of an ASN.1 type as specified in the original specification if not identical with the identifier of Self
Source§

const IS_CHOICE: bool = true

Whether the type is choice type. PER/OER encoding rules require this knowledge.
Source§

const CONSTRAINTS: Constraints = Constraints::NONE

The set of constraints for values of the given type.
Source§

fn is_present(&self) -> bool

Whether the type is present with value. OPTIONAL fields are common in SEQUENCE or SET. Read more
Source§

impl Choice for CauseCodeChoice

Source§

const VARIANTS: &'static [TagTree]

Variants contained in the “root component list”.
Source§

const VARIANCE_CONSTRAINT: Constraints

Constraint for the choice type, based on the number of root components. Used for PER encoding.
Source§

const EXTENDED_VARIANTS: Option<&'static [TagTree]> = None

Variants contained in the list of extensions.
Source§

const IDENTIFIERS: &'static [&'static str]

Variant identifiers for text-based encoding rules
Source§

impl Clone for CauseCodeChoice

Source§

fn clone(&self) -> CauseCodeChoice

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CauseCodeChoice

Source§

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

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

impl Decode for CauseCodeChoice

Source§

fn decode_with_tag_and_constraints<D: Decoder>( decoder: &mut D, tag: Tag, constraints: Constraints, ) -> Result<Self, D::Error>

Decode this value implicitly tagged with tag from a given ASN.1 decoder with a set of constraints on what values of that type are allowed. Read more
Source§

fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, D::Error>

Decode this value from a given ASN.1 decoder. Read more
Source§

fn decode_with_tag<D>( decoder: &mut D, tag: Tag, ) -> Result<Self, <D as Decoder>::Error>
where D: Decoder,

Decode this value implicitly tagged with tag from a given ASN.1 decoder. Read more
Source§

fn decode_with_constraints<D>( decoder: &mut D, constraints: Constraints, ) -> Result<Self, <D as Decoder>::Error>
where D: Decoder,

Decode this value from a given ASN.1 decoder with a set of constraints on what values of that type are allowed. Read more
Source§

impl DecodeChoice for CauseCodeChoice

Source§

fn from_tag<D: Decoder>(decoder: &mut D, tag: Tag) -> Result<Self, D::Error>

Decode the choice value based on the provided tag.
Source§

impl Encode for CauseCodeChoice

Source§

fn encode<'encoder, E: Encoder<'encoder>>( &self, encoder: &mut E, ) -> Result<(), E::Error>

Encodes self’s data into the given crate::Encoder. Read more
Source§

fn encode_with_identifier<'encoder, E: Encoder<'encoder>>( &self, encoder: &mut E, identifier: Identifier, ) -> Result<(), E::Error>

Encode this value with identifier into the given crate::Encoder. Read more
Source§

fn encode_with_tag_and_constraints<'encoder, E: Encoder<'encoder>>( &self, encoder: &mut E, tag: Tag, constraints: Constraints, identifier: Identifier, ) -> Result<(), E::Error>

Encode this value with tag into the given crate::Encoder with the constraints the values this is allowed to encode into. Read more
Source§

fn encode_with_tag<'b, E>( &self, encoder: &mut E, tag: Tag, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value with tag into the given crate::Encoder. Read more
Source§

fn encode_with_tag_and_identifier<'b, E>( &self, encoder: &mut E, tag: Tag, identifier: Identifier, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value with tag and identifier into the given crate::Encoder. Read more
Source§

fn encode_with_constraints<'b, E>( &self, encoder: &mut E, constraints: Constraints, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value into the given crate::Encoder with the constraints the values this is allowed to encode into. Read more
Source§

fn encode_with_constraints_and_identifier<'b, E>( &self, encoder: &mut E, constraints: Constraints, identifier: Identifier, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value into the given crate::Encoder with identifier and the constraints the values this is allowed to encode into. Read more
Source§

impl Eq for CauseCodeChoice

Source§

impl Hash for CauseCodeChoice

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for CauseCodeChoice

Source§

fn eq(&self, other: &CauseCodeChoice) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for CauseCodeChoice

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

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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.