chihaya
Validating delayed array operations in HDF5
Loading...
Searching...
No Matches
dimnames.hpp
Go to the documentation of this file.
1#ifndef CHIHAYA_DIMNAMES_HPP
2#define CHIHAYA_DIMNAMES_HPP
3
4#include "H5Cpp.h"
5#include "ritsuko/ritsuko.hpp"
6
7#include <stdexcept>
8#include <exception>
9
10#include "utils_public.hpp"
11#include "utils_dimensions.hpp"
12
18namespace chihaya {
19
32inline ArrayDetails validate_dimnames(const H5::Group& group, const ritsuko::Version& version, const Options& options) {
33 ArrayDetails seed_details;
34 try {
35 auto shandle = group.openGroup("seed");
36 seed_details = validate(shandle, version, options);
37 } catch (...) {
38 std::throw_with_nested(std::runtime_error("failed to validate 'seed'"));
39 }
40
41 if (!options.details_only) {
42 try {
43 auto nhandle = group.openGroup("dimnames");
44 validate_dimnames_internal(nhandle, seed_details.dimensions, version, options.contiguous_chunk_size);
45 } catch (...) {
46 std::throw_with_nested(std::runtime_error("failed to validate 'dimnames'"));
47 }
48 }
49
50 return seed_details;
51}
52
53}
54
55#endif
Namespace for all chihaya functions.
Definition binary_arithmetic.hpp:21
ArrayDetails validate(const H5::Group &group, const ritsuko::Version &version, const Options &options)
Definition validate.hpp:96
ArrayDetails validate_dimnames(const H5::Group &group, const ritsuko::Version &version, const Options &options)
Definition dimnames.hpp:32
Details about an array.
Definition utils_public.hpp:38
std::vector< std::size_t > dimensions
Definition utils_public.hpp:58
Options for validate().
Definition utils_public.hpp:79
bool details_only
Definition utils_public.hpp:84
hsize_t contiguous_chunk_size
Definition utils_public.hpp:90
Various public utilities.