pub enum CreationOrder {
Untracked,
Tracked,
Indexed,
}Expand description
The creation-order policy of one collection — a group’s links, or an object’s attributes.
Both property-list setters accept exactly three values: nothing,
H5P_CRT_ORDER_TRACKED, or H5P_CRT_ORDER_TRACKED | H5P_CRT_ORDER_INDEXED.
INDEXED on its own is rejected (H5Pset_link_creation_order,
H5Pset_attr_creation_order), which is why this is one enum rather than
two booleans: the fourth combination cannot be constructed.
Variants§
Untracked
No creation order is recorded. Members carry the “no creation index” sentinel and the object declares neither flag.
Tracked
Every member carries its creation index and the object declares a running maximum, but no creation-order B-tree exists.
Indexed
Tracked, plus a v2 B-tree indexing the members by creation order.
Implementations§
Source§impl CreationOrder
impl CreationOrder
Sourcepub fn is_tracked(self) -> bool
pub fn is_tracked(self) -> bool
Whether members carry a creation index — the TRACKED flag bit.
Sourcepub fn is_indexed(self) -> bool
pub fn is_indexed(self) -> bool
Whether a creation-order index exists — the INDEXED flag bit.
Sourcepub fn from_flags(tracked: bool, indexed: bool) -> Self
pub fn from_flags(tracked: bool, indexed: bool) -> Self
Recover the policy from the two on-disk flag bits.
A lone indexed bit is read as Untracked: the
library refuses to set it, and an index over records that carry no
creation index cannot be walked in creation order anyway.