Expand description
Programmatic builder for TypeObjects.
Enables readable code like:
use zerodds_types::builder::{Extensibility, TypeObjectBuilder};
use zerodds_types::{PrimitiveKind, TypeIdentifier};
let chatter = TypeObjectBuilder::struct_type("::chat::Chatter")
.extensibility(Extensibility::Appendable)
.member(
"msg_id",
TypeIdentifier::Primitive(PrimitiveKind::Int64),
|m| m.key(),
)
.member(
"text",
TypeIdentifier::String8Small { bound: 255 },
|m| m,
)
.build_complete();Scope in T5: StructBuilder, EnumBuilder, AliasBuilder — the three most frequently used top-level types. Union, collections, bitmask, bitset, annotation follow on demand.
Structs§
- Alias
Builder - Builder for alias/typedef.
- Array
Builder - Builder for
T[D1, D2, ...]. - Bitmask
Builder - Builder for
bitmasktypes. - Bitset
Builder - Builder for
bitsettypes. - Enum
Builder - Builder for enumerated types.
- MapBuilder
- Builder for
map<K, V, N>. - Sequence
Builder - Builder for
sequence<T, N>. - Struct
Builder - Builder for struct types.
- Struct
Member Builder - Fluent builder for member attributes.
- Struct
Member Spec - Inner state of a struct member — set via
StructMemberBuilder. - Type
Object Builder - Einstiegspunkt.
- Union
Builder - Builder for union types.
Enums§
- Builder
Error - Validation error when building collection types.
- Extensibility
- Extensibility kind (§7.2.2.4). Simpler representation than the flag bits: exactly one of three values.