pub enum ReferenceElementImage {
Legacy(u64),
Inline(u64),
Blob {
kind: ReferenceKind,
size: u32,
collection: u64,
index: u32,
},
}Expand description
What one reference element holds — the encode-side mirror of
RevisedElement, which is what a reader splits an element back into.
The variant carries everything its own layout needs, so
encode_reference_element is total: there is no kind it cannot write,
and no way to hand it a body its layout has no room for.
Variants§
Legacy(u64)
H5R_OBJECT1: the element is the target’s object header address and
nothing else.
Inline(u64)
H5R_OBJECT2 naming an object in this file: short enough that the
whole encoded reference sits in the element
(H5T__ref_disk_getsize’s direct-copy arm).
Blob
Every other 1.12 element: the encoded reference lives in a global-heap
blob and the element carries the blob’s byte count and its id
(H5T__ref_disk_write, which copies the two-byte header across, then
the size, then what H5VL__native_blob_put leaves).
Fields
kind: ReferenceKindThe kind the element’s own type byte names.