36 hid_t require_attribute(hid_t file_id,
string path,
37 hid_t data_type, hid_t data_id);
39 hid_t require_group(hid_t file_id,
string path);
44 static const hssize_t CHUNK_SIZE;
46 virtual ~HDF5WriterBase();
47 void setFilename(
string filename);
48 string getFilename()
const;
50 void setMode(
unsigned int mode);
51 unsigned int getMode()
const;
52 void setChunkSize(
unsigned int);
53 unsigned int getChunkSize()
const;
54 void setCompressor(
string compressor);
55 string getCompressor()
const;
56 void setCompression(
unsigned int level);
57 unsigned int getCompression()
const;
58 void setStringAttr(
string name,
string value);
59 void setDoubleAttr(
string name,
double value);
60 void setLongAttr(
string name,
long value);
61 string getStringAttr(
string name)
const;
62 double getDoubleAttr(
string name)
const;
63 long getLongAttr(
string name)
const;
65 void setStringVecAttr(
string name, vector < string >
value);
66 void setDoubleVecAttr(
string name, vector < double >
value);
67 void setLongVecAttr(
string name, vector < long >
value);
68 vector < string > getStringVecAttr(
string name)
const;
69 vector < double > getDoubleVecAttr(
string name)
const;
70 vector < long > getLongVecAttr(
string name)
const;
72 virtual void flushAttributes();
76 static const Cinfo* initCinfo();
83 hid_t createDoubleDataset(hid_t parent, std::string
name, hsize_t size=0, hsize_t maxsize=H5S_UNLIMITED);
84 hid_t createStringDataset(hid_t parent, std::string
name, hsize_t size=0, hsize_t maxsize=H5S_UNLIMITED);
86 herr_t appendToDataset(hid_t dataset,
const vector<double>& data);
87 hid_t createDataset2D(hid_t parent,
string name,
unsigned int rows);
93 map <string, hid_t> nodemap_;
97 unsigned int openmode_;
99 map<string, string> sattr_;
100 map<string, double> dattr_;
101 map<string, long> lattr_;
102 map<string, vector < string > > svecattr_;
103 map<string, vector < double > > dvecattr_;
104 map<string, vector < long > > lvecattr_;
106 unsigned int chunkSize_;
108 unsigned int compression_;
113 template <
typename A> herr_t writeScalarAttr(hid_t file_id,
string path, A
value)
115 cerr <<
"This should be never be called."
116 <<
" Specialized version exist for basic types." << endl;
125 template <
typename A> herr_t writeVectorAttr(hid_t file_id,
string path,
128 cerr <<
"writeVectorAttr: This should be never be called."
129 <<
" Specialized version exist for basic types." << endl;
void testCreateStringDataset()