pub struct DynamicType { /* private fields */ }Expand description
XTypes 1.3 §7.5.3 DynamicType.
Read-only-API auf einen zur Laufzeit konstruierten Type. Erzeugt
werden DynamicTypes ausschliesslich via DynamicTypeBuilder::build
oder DynamicTypeBuilderFactory::get_primitive_type.
Implementations§
Source§impl DynamicType
impl DynamicType
Sourcepub fn to_type_object(&self) -> Result<TypeObject, DynamicError>
pub fn to_type_object(&self) -> Result<TypeObject, DynamicError>
Spec §7.6.3 — wandelt diese DynamicType in ein
CompleteTypeObject. Liefert immer Complete (nicht Minimal),
weil DynamicType die Namen + Annotations traegt.
Scope:
- Struct mit primitiven + String + Sequence/Array Members.
- Union, Enum, Alias als eigene Helper-Methoden (siehe Modul-Doc).
§Errors
Unsupported fuer noch nicht implementierte Kinds,
Inconsistent wenn der Type fehlerhaft ist.
Source§impl DynamicType
impl DynamicType
Sourcepub fn descriptor(&self) -> &TypeDescriptor
pub fn descriptor(&self) -> &TypeDescriptor
Spec §7.5.3.1 get_descriptor().
Sourcepub fn member_count(&self) -> u32
pub fn member_count(&self) -> u32
Spec §7.5.3.4.1 get_member_count().
Sourcepub fn member_by_index(&self, index: u32) -> Option<&DynamicTypeMember>
pub fn member_by_index(&self, index: u32) -> Option<&DynamicTypeMember>
Spec §7.5.3.4.4 get_member_by_index(index).
Sourcepub fn member_by_id(&self, id: MemberId) -> Option<&DynamicTypeMember>
pub fn member_by_id(&self, id: MemberId) -> Option<&DynamicTypeMember>
Spec §7.5.3.4.2 get_member(MemberId).
Sourcepub fn member_by_name(&self, name: &str) -> Option<&DynamicTypeMember>
pub fn member_by_name(&self, name: &str) -> Option<&DynamicTypeMember>
Spec §7.5.3.4.3 get_member_by_name(name).
Sourcepub fn members(&self) -> impl Iterator<Item = &DynamicTypeMember>
pub fn members(&self) -> impl Iterator<Item = &DynamicTypeMember>
Iterator ueber alle Members in Index-Reihenfolge.
Sourcepub fn is_aggregable(&self) -> bool
pub fn is_aggregable(&self) -> bool
True wenn der Typ ein Composite-Type ist (Members traegt).
Sourcepub fn is_consistent(&self) -> Result<(), DynamicError>
pub fn is_consistent(&self) -> Result<(), DynamicError>
Validiert, dass der Typ insgesamt konsistent ist (Spec §7.5.3.5
- Block-A-Constraints + Member-Konsistenz).
§Errors
DynamicError::Inconsistent mit Detail.
Sourcepub fn new_primitive(kind: TypeKind) -> Self
pub fn new_primitive(kind: TypeKind) -> Self
Convenience: erzeugt einen primitiven DynamicType fuer Type-Bridges.
Fuer mehrfach-genutzte Primitive bevorzuge
crate::dynamic::DynamicTypeBuilderFactory::get_primitive_type
(Singleton-Cache).
Trait Implementations§
Source§impl Clone for DynamicType
impl Clone for DynamicType
Source§fn clone(&self) -> DynamicType
fn clone(&self) -> DynamicType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more