pub struct RegularHyperslab {
pub start: Vec<u64>,
pub stride: Vec<u64>,
pub count: Vec<u64>,
pub block: Vec<u64>,
}Expand description
A regular (start, stride, count, block) hyperslab: one tuple per
dimension. count/block may hold UNLIMITED.
Fields§
§start: Vec<u64>§stride: Vec<u64>§count: Vec<u64>§block: Vec<u64>Implementations§
Source§impl RegularHyperslab
impl RegularHyperslab
Sourcepub fn unlim_dim(&self) -> Option<usize>
pub fn unlim_dim(&self) -> Option<usize>
The one dimension whose count or block is UNLIMITED, or None
when the selection is bounded — H5S_get_select_unlim_dim, which
returns a single dimension because H5Sselect_hyperslab refuses a
second unlimited one.
Sourcepub fn num_slices(&self, clip_size: u64) -> u64
pub fn num_slices(&self, clip_size: u64) -> u64
How many slices of the unlimited dimension this selection covers when
its dataspace extent is clip_size — the slice count
H5S_hyper_get_clip_extent_match computes from the match space
before handing it to Self::clip_extent.
Sourcepub fn clip_extent(&self, num_slices: u64, incl_trail: bool) -> u64
pub fn clip_extent(&self, num_slices: u64, incl_trail: bool) -> u64
The virtual extent that makes this selection cover exactly num_slices
slices of its unlimited dimension — H5S__hyper_get_clip_extent_real.
incl_trail is the H5D_VDS_FIRST_MISSING view; the default
H5D_VDS_LAST_AVAILABLE passes false.
Sourcepub fn num_elem_non_unlim(&self) -> Option<u64>
pub fn num_elem_non_unlim(&self) -> Option<u64>
Elements in one slice through the dimensions that are not the
unlimited one — H5S_get_select_num_elem_non_unlim, the quantity two
unlimited selections in one mapping must agree on.
Sourcepub fn unlim_block(&self, index: u64) -> Self
pub fn unlim_block(&self, index: u64) -> Self
Block index of the unlimited dimension on its own, every other
dimension left as it is — H5S_hyper_get_unlim_block, the selection a
printf mapping’s index-th source dataset fills.