pub enum Type<RS: ResolveState = Resolved> {
Show 15 variants
Boolean,
Integer(Integer<RS::RangeType>),
String(Size<RS::SizeType>, Charset),
OctetString(Size<RS::SizeType>),
BitString(BitString<RS::SizeType>),
Null,
Optional(Box<Type<RS>>),
Default(Box<Type<RS>>, LiteralValue),
Sequence(ComponentTypeList<RS>),
SequenceOf(Box<Type<RS>>, Size<RS::SizeType>),
Set(ComponentTypeList<RS>),
SetOf(Box<Type<RS>>, Size<RS::SizeType>),
Enumerated(Enumerated),
Choice(Choice<RS>),
TypeReference(String, Option<Tag>),
}Variants§
Boolean
ITU-T X.680 | ISO/IEC 8824-1, 18
Integer(Integer<RS::RangeType>)
ITU-T X.680 | ISO/IEC 8824-1, 19
String(Size<RS::SizeType>, Charset)
OctetString(Size<RS::SizeType>)
ITU-T X.680 | ISO/IEC 8824-1, 23
BitString(BitString<RS::SizeType>)
ITU-T X.680 | ISO/IEC 8824-1, 22
Null
ITU-T X.680 | ISO/IEC 8824-1, 24
Optional(Box<Type<RS>>)
Default(Box<Type<RS>>, LiteralValue)
Sequence(ComponentTypeList<RS>)
ITU-T X.680 | ISO/IEC 8824-1, 25
SequenceOf(Box<Type<RS>>, Size<RS::SizeType>)
ITU-T X.680 | ISO/IEC 8824-1, 26
Set(ComponentTypeList<RS>)
ITU-T X.680 | ISO/IEC 8824-1, 27
SetOf(Box<Type<RS>>, Size<RS::SizeType>)
ITU-T X.680 | ISO/IEC 8824-1, 28
Enumerated(Enumerated)
ITU-T X.680 | ISO/IEC 8824-1, 20
Choice(Choice<RS>)
ITU-T X.680 | ISO/IEC 8824-1, 29
TypeReference(String, Option<Tag>)
ITU-T X.680 | ISO/IEC 8824-1, 16
Implementations§
Source§impl Type
impl Type
pub fn unconstrained_integer() -> Self
pub const fn sequence_from_fields(fields: Vec<Field<Asn>>) -> Self
Source§impl<RS: ResolveState> Type<RS>
impl<RS: ResolveState> Type<RS>
pub fn unconstrained_utf8string() -> Self
pub fn unconstrained_octetstring() -> Self
pub fn integer_with_range(range: Range<Option<RS::RangeType>>) -> Self
pub fn integer_with_range_opt(range: Range<Option<RS::RangeType>>) -> Self
pub fn bit_vec_with_size(size: Size<RS::SizeType>) -> Self
pub fn choice_from_variants(variants: Vec<ChoiceVariant<RS>>) -> Self
pub fn optional(self) -> Self
pub fn opt_tagged(self, tag: Option<Tag>) -> Asn<RS>
pub fn tagged(self, tag: Tag) -> Asn<RS>
pub fn untagged(self) -> Asn<RS>
pub fn no_optional_mut(&mut self) -> &mut Self
Source§impl Type<Unresolved>
impl Type<Unresolved>
pub fn try_resolve<R: Resolver<<Resolved as ResolveState>::SizeType> + Resolver<<Resolved as ResolveState>::RangeType> + Resolver<<Resolved as ResolveState>::ConstType> + Resolver<Type<Unresolved>>>( &self, resolver: &R, ) -> Result<Type<Resolved>, ResolveError>
Trait Implementations§
Source§impl<RS: PartialOrd + ResolveState> PartialOrd for Type<RS>
impl<RS: PartialOrd + ResolveState> PartialOrd for Type<RS>
impl<RS: ResolveState> StructuralPartialEq for Type<RS>
Auto Trait Implementations§
impl<RS> Freeze for Type<RS>
impl<RS> RefUnwindSafe for Type<RS>where
<RS as ResolveState>::SizeType: RefUnwindSafe,
<RS as ResolveState>::RangeType: RefUnwindSafe,
<RS as ResolveState>::ConstType: RefUnwindSafe,
impl<RS> Send for Type<RS>where
<RS as ResolveState>::SizeType: Send,
<RS as ResolveState>::RangeType: Send,
<RS as ResolveState>::ConstType: Send,
impl<RS> Sync for Type<RS>where
<RS as ResolveState>::SizeType: Sync,
<RS as ResolveState>::RangeType: Sync,
<RS as ResolveState>::ConstType: Sync,
impl<RS> Unpin for Type<RS>where
<RS as ResolveState>::SizeType: Unpin,
<RS as ResolveState>::RangeType: Unpin,
<RS as ResolveState>::ConstType: Unpin,
impl<RS> UnsafeUnpin for Type<RS>
impl<RS> UnwindSafe for Type<RS>where
<RS as ResolveState>::SizeType: UnwindSafe,
<RS as ResolveState>::RangeType: UnwindSafe,
<RS as ResolveState>::ConstType: 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