-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathbag_hdfhelper.h
More file actions
66 lines (43 loc) · 1.61 KB
/
bag_hdfhelper.h
File metadata and controls
66 lines (43 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef BAG_HDFHELPER_H
#define BAG_HDFHELPER_H
#include "bag_georefmetadatalayer.h"
#include "bag_config.h"
#include "bag_fordec.h"
#include "bag_types.h"
#include "bag_valuetable.h"
#include <string>
//! Forward declarations of HDF5 classes used, to avoid exposing dependencies
//! to users of this library.
namespace H5 {
class AtomType;
class Attribute;
class CompType;
class DataSet;
class H5File;
class PredType;
} // namespace H5
namespace BAG {
::H5::CompType createH5compType(LayerType layerType,
GroupType groupType);
::H5::CompType createH5fileCompType(const RecordDefinition& definition);
::H5::CompType createH5memoryCompType(const RecordDefinition& definition);
uint64_t getChunkSize(const ::H5::H5File& h5file,
const std::string& path);
int getCompressionLevel(const ::H5::H5File& h5file,
const std::string& path);
size_t getRecordSize(const RecordDefinition& definition);
const ::H5::AtomType& getH5fileType(DataType type);
const ::H5::AtomType& getH5memoryType(DataType type);
::H5::Attribute createAttribute(const ::H5::DataSet& h5dataSet,
const ::H5::PredType& attributeType, const char* path);
void createAttributes(const ::H5::DataSet& h5dataSet,
const ::H5::PredType& attributeType, const std::vector<const char*>& paths);
template <typename T>
void writeAttributes(const ::H5::DataSet& h5dataSet,
const ::H5::PredType& attributeType, T value,
const std::vector<const char*>& paths);
template <typename T>
void writeAttribute(const ::H5::DataSet& h5dataSet,
const ::H5::PredType& attributeType, T value, const char* path);
} // namespace BAG
#endif // BAG_HDFHELPER_H