pub struct Encoder<const RCL: usize = 0, const ECL: usize = 0> { /* private fields */ }Expand description
Encodes Rust data structures into Canonical Packed Encoding Rules (CPER) data.
Const RCL is the count of root components in the root component list of a sequence or set.
Const ECL is the count of extension additions in the extension addition component type list in a sequence or set.
Implementations§
Source§impl<const RCL: usize, const ECL: usize> Encoder<RCL, ECL>
impl<const RCL: usize, const ECL: usize> Encoder<RCL, ECL>
Sourcepub fn new(options: EncoderOptions) -> Self
pub fn new(options: EncoderOptions) -> Self
Constructs a new encoder from the provided options.
Sourcepub fn new_with_output(options: EncoderOptions, output: BitString) -> Self
pub fn new_with_output(options: EncoderOptions, output: BitString) -> Self
Constructs a new encoder from the provided options, reusing the given bit buffer’s allocation. The buffer is cleared before encoding begins.
Sourcepub fn output_into_vec(self) -> Vec<u8> ⓘ
pub fn output_into_vec(self) -> Vec<u8> ⓘ
Consumes the encoder and returns the octet-aligned output, reusing the internal buffer’s allocation instead of copying it.
Trait Implementations§
Source§impl<const RFC: usize, const EFC: usize> Encoder<'_> for Encoder<RFC, EFC>
impl<const RFC: usize, const EFC: usize> Encoder<'_> for Encoder<RFC, EFC>
Source§type Error = EncodeError
type Error = EncodeError
The associated error type returned on failure.
Source§type AnyEncoder<'this, const R: usize, const E: usize> = Encoder<R, E>
type AnyEncoder<'this, const R: usize, const E: usize> = Encoder<R, E>
Helper type for encoding recursive
Encoder instances with different RCL or ECL values.Source§fn encode_any(
&mut self,
tag: Tag,
value: &Any,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_any( &mut self, tag: Tag, value: &Any, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode an unknown ASN.1 value.
Source§fn encode_bit_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &BitStr,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_bit_string( &mut self, tag: Tag, constraints: &Constraints, value: &BitStr, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
BIT STRING value.Source§fn encode_bool(
&mut self,
tag: Tag,
value: bool,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_bool( &mut self, tag: Tag, value: bool, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
BOOL value.Source§fn encode_enumerated<E: Enumerated>(
&mut self,
tag: Tag,
value: &E,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_enumerated<E: Enumerated>( &mut self, tag: Tag, value: &E, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
ENUMERATED value.Source§fn encode_integer<I: IntegerType>(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &I,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_integer<I: IntegerType>( &mut self, tag: Tag, constraints: &Constraints, value: &I, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
INTEGER value.Source§fn encode_real<R: RealType>(
&mut self,
_: Tag,
_: &Constraints,
_: &R,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_real<R: RealType>( &mut self, _: Tag, _: &Constraints, _: &R, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
REAL value.Source§fn encode_null(
&mut self,
_tag: Tag,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_null( &mut self, _tag: Tag, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
NULL value.Source§fn encode_object_identifier(
&mut self,
tag: Tag,
oid: &[u32],
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_object_identifier( &mut self, tag: Tag, oid: &[u32], _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
OBJECT IDENTIFIER value.Source§fn encode_octet_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &[u8],
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_octet_string( &mut self, tag: Tag, constraints: &Constraints, value: &[u8], _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
OCTET STRING value.Source§fn encode_visible_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &VisibleString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_visible_string( &mut self, tag: Tag, constraints: &Constraints, value: &VisibleString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
VisibleString value.Source§fn encode_ia5_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &Ia5String,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_ia5_string( &mut self, tag: Tag, constraints: &Constraints, value: &Ia5String, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
Ia5String value.Source§fn encode_general_string(
&mut self,
tag: Tag,
_: &Constraints,
value: &GeneralString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_general_string( &mut self, tag: Tag, _: &Constraints, value: &GeneralString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
GeneralString value.Source§fn encode_graphic_string(
&mut self,
tag: Tag,
_: &Constraints,
value: &GraphicString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_graphic_string( &mut self, tag: Tag, _: &Constraints, value: &GraphicString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
GraphicString value.Source§fn encode_printable_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &PrintableString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_printable_string( &mut self, tag: Tag, constraints: &Constraints, value: &PrintableString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
Ia5String value.Source§fn encode_numeric_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &NumericString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_numeric_string( &mut self, tag: Tag, constraints: &Constraints, value: &NumericString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
NumericString value.Source§fn encode_teletex_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &TeletexString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_teletex_string( &mut self, tag: Tag, constraints: &Constraints, value: &TeletexString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
TeletexString value.Source§fn encode_bmp_string(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &BmpString,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_bmp_string( &mut self, tag: Tag, constraints: &Constraints, value: &BmpString, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
BmpString value.Source§fn encode_utf8_string(
&mut self,
tag: Tag,
_: &Constraints,
value: &str,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_utf8_string( &mut self, tag: Tag, _: &Constraints, value: &str, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
Utf8String value.Source§fn encode_utc_time(
&mut self,
tag: Tag,
value: &UtcTime,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_utc_time( &mut self, tag: Tag, value: &UtcTime, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
UtcTime value.Source§fn encode_generalized_time(
&mut self,
tag: Tag,
value: &GeneralizedTime,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_generalized_time( &mut self, tag: Tag, value: &GeneralizedTime, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
GeneralizedTime value.Source§fn encode_date(
&mut self,
_: Tag,
value: &Date,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_date( &mut self, _: Tag, value: &Date, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a ‘Date’ value.
Source§fn encode_sequence_of<E: Encode>(
&mut self,
tag: Tag,
values: &[E],
constraints: &Constraints,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_sequence_of<E: Encode>( &mut self, tag: Tag, values: &[E], constraints: &Constraints, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
SEQUENCE OF value.Source§fn encode_set_of<E: Encode + Eq + Hash>(
&mut self,
tag: Tag,
values: &SetOf<E>,
constraints: &Constraints,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_set_of<E: Encode + Eq + Hash>( &mut self, tag: Tag, values: &SetOf<E>, constraints: &Constraints, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
SET OF value.Source§fn encode_explicit_prefix<V: Encode>(
&mut self,
tag: Tag,
value: &V,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_explicit_prefix<V: Encode>( &mut self, tag: Tag, value: &V, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a explicitly tagged value.
Source§fn encode_some<E: Encode>(
&mut self,
value: &E,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_some<E: Encode>( &mut self, value: &E, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_some_with_tag<E: Encode>(
&mut self,
tag: Tag,
value: &E,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_some_with_tag<E: Encode>( &mut self, tag: Tag, value: &E, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_some_with_tag_and_constraints<E: Encode>(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &E,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_some_with_tag_and_constraints<E: Encode>( &mut self, tag: Tag, constraints: &Constraints, value: &E, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_none<E: Encode>(
&mut self,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_none<E: Encode>( &mut self, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the absent value of an optional field.
Source§fn encode_none_with_tag(
&mut self,
tag: Tag,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_none_with_tag( &mut self, tag: Tag, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the absent value with
tag of an optional field.Source§fn encode_sequence<'b, const RL: usize, const EL: usize, C, F>(
&'b mut self,
tag: Tag,
encoder_scope: F,
_: Identifier,
) -> Result<Self::Ok, Self::Error>where
C: Constructed<RL, EL>,
F: FnOnce(&mut Self::AnyEncoder<'b, RL, EL>) -> Result<(), Self::Error>,
fn encode_sequence<'b, const RL: usize, const EL: usize, C, F>(
&'b mut self,
tag: Tag,
encoder_scope: F,
_: Identifier,
) -> Result<Self::Ok, Self::Error>where
C: Constructed<RL, EL>,
F: FnOnce(&mut Self::AnyEncoder<'b, RL, EL>) -> Result<(), Self::Error>,
Encode a
SEQUENCE value. Read moreSource§fn encode_set<'b, const RL: usize, const EL: usize, C, F>(
&'b mut self,
tag: Tag,
encoder_scope: F,
_: Identifier,
) -> Result<Self::Ok, Self::Error>where
C: Constructed<RL, EL>,
F: FnOnce(&mut Self::AnyEncoder<'b, RL, EL>) -> Result<(), Self::Error>,
fn encode_set<'b, const RL: usize, const EL: usize, C, F>(
&'b mut self,
tag: Tag,
encoder_scope: F,
_: Identifier,
) -> Result<Self::Ok, Self::Error>where
C: Constructed<RL, EL>,
F: FnOnce(&mut Self::AnyEncoder<'b, RL, EL>) -> Result<(), Self::Error>,
Encode a
SET value. Read moreSource§fn encode_choice<E: Encode + Choice>(
&mut self,
constraints: &Constraints,
tag: Tag,
encode_fn: impl FnOnce(&mut Self) -> Result<Tag, Self::Error>,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_choice<E: Encode + Choice>( &mut self, constraints: &Constraints, tag: Tag, encode_fn: impl FnOnce(&mut Self) -> Result<Tag, Self::Error>, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a
CHOICE value.Source§fn encode_extension_addition<E: Encode>(
&mut self,
tag: Tag,
constraints: &Constraints,
value: E,
_: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_extension_addition<E: Encode>( &mut self, tag: Tag, constraints: &Constraints, value: E, _: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode a extension addition value.
Source§fn encode_extension_addition_group<const RL: usize, const EL: usize, E>(
&mut self,
value: Option<&E>,
_: Identifier,
) -> Result<Self::Ok, Self::Error>where
E: Encode + Constructed<RL, EL>,
fn encode_extension_addition_group<const RL: usize, const EL: usize, E>(
&mut self,
value: Option<&E>,
_: Identifier,
) -> Result<Self::Ok, Self::Error>where
E: Encode + Constructed<RL, EL>,
Encode a extension addition group value. Read more
Source§fn encode_or_default<E: Encode + Default + PartialEq>(
&mut self,
value: &E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_or_default<E: Encode + Default + PartialEq>( &mut self, value: &E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the value a field or skip if it matches the default..
Source§fn encode_with_tag_or_default<E: Encode + Default + PartialEq>(
&mut self,
tag: Tag,
value: &E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_with_tag_or_default<E: Encode + Default + PartialEq>( &mut self, tag: Tag, value: &E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_default<E: Encode + PartialEq>(
&mut self,
value: &E,
default: impl FnOnce() -> E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_default<E: Encode + PartialEq>( &mut self, value: &E, default: impl FnOnce() -> E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_default_with_tag<E: Encode + PartialEq>(
&mut self,
tag: Tag,
value: &E,
default: impl FnOnce() -> E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_default_with_tag<E: Encode + PartialEq>( &mut self, tag: Tag, value: &E, default: impl FnOnce() -> E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_default_with_explicit_prefix<E: Encode + PartialEq>(
&mut self,
tag: Tag,
value: &E,
default: impl FnOnce() -> E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_default_with_explicit_prefix<E: Encode + PartialEq>( &mut self, tag: Tag, value: &E, default: impl FnOnce() -> E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the preset value of an optional field using Explicit Tags
Source§fn encode_default_with_tag_and_constraints<E: Encode + PartialEq>(
&mut self,
tag: Tag,
constraints: &Constraints,
value: &E,
default: impl FnOnce() -> E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_default_with_tag_and_constraints<E: Encode + PartialEq>( &mut self, tag: Tag, constraints: &Constraints, value: &E, default: impl FnOnce() -> E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present value of an optional field.
Source§fn encode_default_with_constraints<E: Encode + PartialEq>(
&mut self,
constraints: &Constraints,
value: &E,
default: impl FnOnce() -> E,
identifier: Identifier,
) -> Result<Self::Ok, Self::Error>
fn encode_default_with_constraints<E: Encode + PartialEq>( &mut self, constraints: &Constraints, value: &E, default: impl FnOnce() -> E, identifier: Identifier, ) -> Result<Self::Ok, Self::Error>
Encode the present constrained value of an optional field.
Auto Trait Implementations§
impl<const RCL: usize, const ECL: usize> Freeze for Encoder<RCL, ECL>
impl<const RCL: usize, const ECL: usize> RefUnwindSafe for Encoder<RCL, ECL>where
(usize, [(bool, Tag); RCL]): RefUnwindSafe,
(usize, [bool; ECL]): RefUnwindSafe,
[Option<Range<usize>>; ECL]: RefUnwindSafe,
impl<const RCL: usize, const ECL: usize> Send for Encoder<RCL, ECL>
impl<const RCL: usize, const ECL: usize> Sync for Encoder<RCL, ECL>
impl<const RCL: usize, const ECL: usize> Unpin for Encoder<RCL, ECL>
impl<const RCL: usize, const ECL: usize> UnsafeUnpin for Encoder<RCL, ECL>where
(usize, [(bool, Tag); RCL]): UnsafeUnpin,
(usize, [bool; ECL]): UnsafeUnpin,
[Option<Range<usize>>; ECL]: UnsafeUnpin,
impl<const RCL: usize, const ECL: usize> UnwindSafe for Encoder<RCL, ECL>where
(usize, [(bool, Tag); RCL]): UnwindSafe,
(usize, [bool; ECL]): UnwindSafe,
[Option<Range<usize>>; ECL]: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
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,
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,
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,
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,
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,
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,
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,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.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> ⓘ
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 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> ⓘ
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 moreSource§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,
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) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
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,
Mutably borrows
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
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.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
Immutable access to the
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
Mutable access to the
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
Immutable access to the
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
Mutable access to the
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
Immutable access to the
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
Mutable access to the
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
Calls
.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
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
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
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
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
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
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.