Expand description
Composite tensor: head + members, aggregated across whole TensorDescriptors.
Every other layout in this crate is validated and addressed within a single
crate::descriptor::TensorDescriptor. Composite is different: a composite
“tensor” is a head descriptor (layout_tag = 0x0B, see
crate::layout::composite) plus N ordinary tensor descriptors — its
members — bound by forward stream/file adjacency. This module is where that
cross-descriptor aggregate lives.
Distinct from crate::layout::composite, which defines only the wire-level
CompositeLayout payload carried inside the head descriptor’s layout-specific
fields (composition_rule, combine_op, member_count). This module aggregates
a complete head plus its actual member descriptors and validates them against
each other per docs/spec/layouts/composite.md § Validation. The two modules are
kept at distinct paths (hurray_core::layout::composite vs
hurray_core::composite) precisely so their similarly-named types — CompositeLayout
/ CompositionRule / CombineOp here vs CompositeTensor / CompositeValidator
there — never collide in any glob or re-export.
Structs§
- Composite
Tensor - A composite tensor: a head descriptor plus its ordered member descriptors.
- Composite
Validator - Stateful, bounded validator for a composite head’s members.
Constants§
- MAX_
COMPOSITE_ DEPTH - Maximum composite nesting depth.