Enum asn1rs_model::model::Type
source · 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: Clone + ResolveState> Clone for Type<RS>where
RS::RangeType: Clone,
RS::SizeType: Clone,
impl<RS: Clone + ResolveState> Clone for Type<RS>where RS::RangeType: Clone, RS::SizeType: Clone,
source§impl<RS: Debug + ResolveState> Debug for Type<RS>where
RS::RangeType: Debug,
RS::SizeType: Debug,
impl<RS: Debug + ResolveState> Debug for Type<RS>where RS::RangeType: Debug, RS::SizeType: Debug,
source§impl<RS: PartialEq + ResolveState> PartialEq<Type<RS>> for Type<RS>where
RS::RangeType: PartialEq,
RS::SizeType: PartialEq,
impl<RS: PartialEq + ResolveState> PartialEq<Type<RS>> for Type<RS>where RS::RangeType: PartialEq, RS::SizeType: PartialEq,
source§impl<RS: PartialOrd + ResolveState> PartialOrd<Type<RS>> for Type<RS>where
RS::RangeType: PartialOrd,
RS::SizeType: PartialOrd,
impl<RS: PartialOrd + ResolveState> PartialOrd<Type<RS>> for Type<RS>where RS::RangeType: PartialOrd, RS::SizeType: PartialOrd,
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<RS: ResolveState> StructuralPartialEq for Type<RS>
Auto Trait Implementations§
impl<RS> RefUnwindSafe for Type<RS>where <RS as ResolveState>::ConstType: RefUnwindSafe, <RS as ResolveState>::RangeType: RefUnwindSafe, <RS as ResolveState>::SizeType: RefUnwindSafe,
impl<RS> Send for Type<RS>where <RS as ResolveState>::ConstType: Send, <RS as ResolveState>::RangeType: Send, <RS as ResolveState>::SizeType: Send,
impl<RS> Sync for Type<RS>where <RS as ResolveState>::ConstType: Sync, <RS as ResolveState>::RangeType: Sync, <RS as ResolveState>::SizeType: Sync,
impl<RS> Unpin for Type<RS>where <RS as ResolveState>::ConstType: Unpin, <RS as ResolveState>::RangeType: Unpin, <RS as ResolveState>::SizeType: Unpin,
impl<RS> UnwindSafe for Type<RS>where <RS as ResolveState>::ConstType: UnwindSafe, <RS as ResolveState>::RangeType: UnwindSafe, <RS as ResolveState>::SizeType: 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