pub struct ObjectIdentifierFmt;Expand description
ASN.1 OBJECT IDENTIFIER contents format.
Trait Implementations§
Source§impl ByteLen<ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature alloc only.
impl ByteLen<ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature
alloc only.Source§impl Clone for ObjectIdentifierFmt
impl Clone for ObjectIdentifierFmt
Source§fn clone(&self) -> ObjectIdentifierFmt
fn clone(&self) -> ObjectIdentifierFmt
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Consistency for ObjectIdentifierFmt
impl Consistency for ObjectIdentifierFmt
Source§open spec fn consistent(&self, v: Self::Val) -> bool
open spec fn consistent(&self, v: Self::Val) -> bool
{ v.wf() && object_identifier_inner().consistent(oid_to_subidentifiers(v)) }Source§type Val = ObjectIdentifierSpec
type Val = ObjectIdentifierSpec
The type of values whose consistency is being checked.
Source§impl DerOrd<ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature alloc only.
impl DerOrd<ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature
alloc only.Source§proof fn lemma_der_serialize_len(&self, value: ObjectIdentifierSpec)
proof fn lemma_der_serialize_len(&self, value: ObjectIdentifierSpec)
Source§open spec fn der_remaining(
&self,
value: ObjectIdentifierSpec,
state: ObjectIdentifierDerState,
) -> Seq<u8>
open spec fn der_remaining( &self, value: ObjectIdentifierSpec, state: ObjectIdentifierDerState, ) -> Seq<u8>
{
if state.in_left {
Base128Fmt::<true>
.der_remaining(crate::asn1::oid::oid_first_subidentifier(value), state.left)
+ RepeatTillEnd(Base128Fmt::<true>).der_remaining(value.rest, state.right)
} else {
RepeatTillEnd(Base128Fmt::<true>).der_remaining(value.rest, state.right)
}
}Source§open spec fn der_state_valid(
&self,
value: ObjectIdentifierSpec,
state: ObjectIdentifierDerState,
) -> bool
open spec fn der_state_valid( &self, value: ObjectIdentifierSpec, state: ObjectIdentifierDerState, ) -> bool
{
&&& Base128Fmt::<true>
.der_state_valid(crate::asn1::oid::oid_first_subidentifier(value), state.left)
&&& RepeatTillEnd(Base128Fmt::<true>).der_state_valid(value.rest, state.right)
&&& !state.in_left
==> Base128Fmt::<true>
.der_remaining(crate::asn1::oid::oid_first_subidentifier(value), state.left)
.len() == 0
}Source§exec fn der_start(&self, o: &ObjectIdentifier) -> state : ObjectIdentifierDerState
exec fn der_start(&self, o: &ObjectIdentifier) -> state : ObjectIdentifierDerState
Source§exec fn der_next(
&self,
o: &ObjectIdentifier,
state: &mut ObjectIdentifierDerState,
) -> next : Option<u8>
exec fn der_next( &self, o: &ObjectIdentifier, state: &mut ObjectIdentifierDerState, ) -> next : Option<u8>
Source§impl DerState for ObjectIdentifierFmt
Available on crate feature alloc only.
impl DerState for ObjectIdentifierFmt
Available on crate feature
alloc only.Source§impl GoodSerializer for ObjectIdentifierFmt
impl GoodSerializer for ObjectIdentifierFmt
Source§proof fn lemma_serialize_len(&self, v: Self::SVal)
proof fn lemma_serialize_len(&self, v: Self::SVal)
Source§fn serialize_inv(&self) -> bool
fn serialize_inv(&self) -> bool
Source§impl NonMalleable for ObjectIdentifierFmt
impl NonMalleable for ObjectIdentifierFmt
Source§proof fn lemma_parse_non_malleable(&self, buf1: Seq<u8>, buf2: Seq<u8>)
proof fn lemma_parse_non_malleable(&self, buf1: Seq<u8>, buf2: Seq<u8>)
Source§fn nonmal_inv(&self) -> bool
fn nonmal_inv(&self) -> bool
Source§impl Parser<&[u8]> for ObjectIdentifierFmt
Available on crate feature alloc only.
impl Parser<&[u8]> for ObjectIdentifierFmt
Available on crate feature
alloc only.Source§impl Prepare<ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature alloc only.
impl Prepare<ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature
alloc only.Source§impl Productive for ObjectIdentifierFmt
impl Productive for ObjectIdentifierFmt
Source§proof fn lemma_productive(&self, ibuf: Seq<u8>)
proof fn lemma_productive(&self, ibuf: Seq<u8>)
Source§fn productive_inv(&self) -> bool
fn productive_inv(&self) -> bool
Source§impl SPRoundTripDps for ObjectIdentifierFmt
impl SPRoundTripDps for ObjectIdentifierFmt
Source§proof fn theorem_serialize_dps_parse_roundtrip(&self, v: Self::T, obuf: Seq<u8>)
proof fn theorem_serialize_dps_parse_roundtrip(&self, v: Self::T, obuf: Seq<u8>)
Source§fn unambiguous(&self) -> bool
fn unambiguous(&self) -> bool
Source§impl SafeParser for ObjectIdentifierFmt
impl SafeParser for ObjectIdentifierFmt
Source§impl<Output: OutputBuf> Serializer<Output, ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature alloc only.
impl<Output: OutputBuf> Serializer<Output, ObjectIdentifier> for ObjectIdentifierFmt
Available on crate feature
alloc only.Source§exec fn serialize_into(&self, v: &ObjectIdentifier, obuf: &mut Output)
exec fn serialize_into(&self, v: &ObjectIdentifier, obuf: &mut Output)
Source§impl SoundParser for ObjectIdentifierFmt
impl SoundParser for ObjectIdentifierFmt
Source§impl SpecByteLen for ObjectIdentifierFmt
impl SpecByteLen for ObjectIdentifierFmt
Source§impl SpecParser for ObjectIdentifierFmt
impl SpecParser for ObjectIdentifierFmt
Source§open spec fn spec_parse(&self, ibuf: Seq<u8>) -> Option<(int, Self::PVal)>
open spec fn spec_parse(&self, ibuf: Seq<u8>) -> Option<(int, Self::PVal)>
{
match object_identifier_inner().spec_parse(ibuf) {
Some((n, (first, rest))) => Some((n, oid_from_subidentifiers(first, rest))),
None => None,
}
}Source§type PVal = ObjectIdentifierSpec
type PVal = ObjectIdentifierSpec
The type of parsed values.
Source§impl SpecSerializer for ObjectIdentifierFmt
impl SpecSerializer for ObjectIdentifierFmt
Source§open spec fn spec_serialize(&self, v: Self::SVal) -> Seq<u8>
open spec fn spec_serialize(&self, v: Self::SVal) -> Seq<u8>
{ object_identifier_inner().spec_serialize(oid_to_subidentifiers(v)) }Source§type SVal = ObjectIdentifierSpec
type SVal = ObjectIdentifierSpec
The type of values to be serialized.
Source§impl SpecSerializerDps for ObjectIdentifierFmt
impl SpecSerializerDps for ObjectIdentifierFmt
Source§open spec fn spec_serialize_dps(&self, v: Self::SValue, obuf: Seq<u8>) -> Seq<u8>
open spec fn spec_serialize_dps(&self, v: Self::SValue, obuf: Seq<u8>) -> Seq<u8>
{ object_identifier_inner().spec_serialize_dps(oid_to_subidentifiers(v), obuf) }Source§type SValue = ObjectIdentifierSpec
type SValue = ObjectIdentifierSpec
The type of values to be serialized.
impl Copy for ObjectIdentifierFmt
Auto Trait Implementations§
impl Freeze for ObjectIdentifierFmt
impl RefUnwindSafe for ObjectIdentifierFmt
impl Send for ObjectIdentifierFmt
impl Sync for ObjectIdentifierFmt
impl Unpin for ObjectIdentifierFmt
impl UnsafeUnpin for ObjectIdentifierFmt
impl UnwindSafe for ObjectIdentifierFmt
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: From<T>,
impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: From<T>,
fn obeys_from_spec() -> bool
fn from_spec(v: T) -> VERUS_SPEC__A
§impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: Into<T>,
impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: Into<T>,
fn obeys_into_spec() -> bool
fn into_spec(self) -> T
§impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
fn obeys_into_spec() -> bool
fn into_spec(self) -> U
Source§impl<C> NonAmbiguous for Cwhere
C: SPRoundTrip,
impl<C> NonAmbiguous for Cwhere
C: SPRoundTrip,
Source§open spec fn nonamb_inv(&self) -> bool
open spec fn nonamb_inv(&self) -> bool
{ self.sp_roundtrip_inv() }Source§proof fn lemma_serialize_injective(
&self,
v1: <C as Consistency>::Val,
v2: <C as Consistency>::Val,
)
proof fn lemma_serialize_injective( &self, v1: <C as Consistency>::Val, v2: <C as Consistency>::Val, )
Source§impl<C> PSRoundTrip for C
impl<C> PSRoundTrip for C
Source§open spec fn ps_roundtrip_inv(&self) -> bool
open spec fn ps_roundtrip_inv(&self) -> bool
{ self.safe_inv() && self.sound_inv() && self.nonmal_inv() && self.sp_roundtrip_inv() }Source§proof fn theorem_parse_serialize_roundtrip(&self, ibuf: Seq<u8>)
proof fn theorem_parse_serialize_roundtrip(&self, ibuf: Seq<u8>)
Source§impl<C> SPRoundTrip for C
impl<C> SPRoundTrip for C
Source§open spec fn sp_roundtrip_inv(&self) -> bool
open spec fn sp_roundtrip_inv(&self) -> bool
{ self.serialize_inv() && self.equiv_inv() && self.unambiguous() }