pub struct DatasetBuilder<T: H5Type> { /* private fields */ }Expand description
A fluent builder for creating datasets.
Obtained from H5File::new_dataset::<T>().
let file = H5File::create("builder.h5").unwrap();
let ds = file.new_dataset::<f32>()
.shape(&[10, 20])
.create("temperatures")
.unwrap();Implementations§
Source§impl<T: H5Type> DatasetBuilder<T>
impl<T: H5Type> DatasetBuilder<T>
Sourcepub fn shape<S: AsRef<[usize]>>(self, dims: S) -> Self
pub fn shape<S: AsRef<[usize]>>(self, dims: S) -> Self
Set the dataset dimensions.
This is required before calling create.
Use an empty slice &[] for a scalar (0-dimensional) dataset.
Sourcepub fn resizable(self) -> Self
pub fn resizable(self) -> Self
Make all dimensions unlimited (resizable).
This sets max_dims to u64::MAX for all dimensions.
Sourcepub fn max_shape(self, max: &[Option<usize>]) -> Self
pub fn max_shape(self, max: &[Option<usize>]) -> Self
Set maximum dimensions. None means unlimited for that dimension.
Sourcepub fn deflate(self, level: u32) -> Self
pub fn deflate(self, level: u32) -> Self
Enable deflate (gzip) compression with the given level (0-9).
Requires chunked storage (call .chunk() before .create()).
Level 0 = no compression, 9 = maximum compression. Default is 6.
Sourcepub fn shuffle_deflate(self, level: u32) -> Self
pub fn shuffle_deflate(self, level: u32) -> Self
Enable shuffle + deflate compression.
Shuffle reorders bytes by position within elements before compression, which typically improves compression ratios for numeric data. Requires chunked storage.
Sourcepub fn zstd(self, level: u32) -> Self
pub fn zstd(self, level: u32) -> Self
Enable Zstandard compression with the given level (1-22, default 3).
Requires chunked storage (call .chunk() before .create()).
Sourcepub fn filter_pipeline(self, pipeline: FilterPipeline) -> Self
pub fn filter_pipeline(self, pipeline: FilterPipeline) -> Self
Set a custom filter pipeline for compression.
This takes precedence over deflate and
shuffle_deflate. Requires chunked storage.