pub struct DynamicTypeBuilderFactory;Expand description
XTypes §7.5.5 DynamicTypeBuilderFactory — Singleton im Spec-Sinne.
Stateless: keine globalen Caches außer dem Primitive-Singleton-
Pool, der über OnceLock lazy initialisiert wird.
Implementations§
Source§impl DynamicTypeBuilderFactory
impl DynamicTypeBuilderFactory
Sourcepub fn create_type_w_type_object(
type_obj: &TypeObject,
) -> Result<DynamicTypeBuilder, DynamicError>
pub fn create_type_w_type_object( type_obj: &TypeObject, ) -> Result<DynamicTypeBuilder, DynamicError>
Spec §7.6.4 / §7.5.5.1.4 create_type_w_type_object(type_object).
Scope:
CompleteStructTypemit primitiven + String-Members.MinimalStructTypeals read-only mit Hash-Names.- Andere Kinds:
Unsupported.
§Errors
Unsupported fuer Kinds ausserhalb des aktuellen Implementations-Scopes.
Source§impl DynamicTypeBuilderFactory
impl DynamicTypeBuilderFactory
Sourcepub fn create_type(
descriptor: TypeDescriptor,
) -> Result<DynamicTypeBuilder, DynamicError>
pub fn create_type( descriptor: TypeDescriptor, ) -> Result<DynamicTypeBuilder, DynamicError>
Sourcepub fn create_struct(name: impl Into<String>) -> DynamicTypeBuilder
pub fn create_struct(name: impl Into<String>) -> DynamicTypeBuilder
Convenience-Variante: erstellt direkt einen Struct-Builder.
Sourcepub fn create_union(
name: impl Into<String>,
discriminator: TypeDescriptor,
) -> Result<DynamicTypeBuilder, DynamicError>
pub fn create_union( name: impl Into<String>, discriminator: TypeDescriptor, ) -> Result<DynamicTypeBuilder, DynamicError>
Convenience-Variante: erstellt direkt einen Union-Builder mit gegebenem Discriminator-Type.
§Errors
Inconsistent wenn der Discriminator nicht zugelassen ist.
Sourcepub fn get_primitive_type(kind: TypeKind) -> Result<DynamicType, DynamicError>
pub fn get_primitive_type(kind: TypeKind) -> Result<DynamicType, DynamicError>
Spec §7.5.5.1.2 get_primitive_type(kind) — Singleton-Cache.
Mehrfach-Aufrufe mit gleichem kind liefern dieselbe
DynamicType-Instanz (gleicher Arc-Pointer).
§Errors
IllegalOperation wenn kind kein Primitive ist.
Sourcepub fn create_string_type(bound: u32) -> DynamicType
pub fn create_string_type(bound: u32) -> DynamicType
Spec §7.5.5.1.3 create_string_type(bound) — bounded string<N>.
Sourcepub fn create_wstring_type(bound: u32) -> DynamicType
pub fn create_wstring_type(bound: u32) -> DynamicType
Spec §7.5.5.1.4 create_wstring_type(bound).