84class hdfistream_sds:
public hdfistream_obj {
87 explicit hdfistream_sds(
const string& filename =
"");
88 hdfistream_sds(
const hdfistream_sds &):hdfistream_obj(*
this) {
91 ~ hdfistream_sds(
void)
override{
94 void operator=(
const hdfistream_sds &) {
97 void open(
const char *filename =
nullptr)
override;
98 void close(
void)
override;
99 void seek(
int index = 0)
override;
100 virtual void seek(
const char *name);
101 void seek_next(
void)
override;
102 virtual void seek_ref(
int ref);
103 void rewind(
void)
override;
104 bool bos(
void)
const override;
105 bool eos(
void)
const override;
106 virtual bool eo_attr(
void)
const;
107 virtual bool eo_dim(
void)
const;
108 void setmeta(
bool val) {
111 void setslab(vector < int >start, vector < int >edge,
112 vector < int >stride,
bool reduce_rank =
false);
113 void setslab(
int *start,
int *edge,
int *stride,
bool reduce_rank =
115 void unsetslab(
void) {
116 _slab.set = _slab.reduce_rank =
false;
118 void set_map_ce(
const vector < array_ce > &a_ce) {
122 vector < array_ce > get_map_ce()
const {
125 bool is_map_ce_set()
const {
128 hdfistream_sds & operator>>(
hdf_attr & ha);
129 hdfistream_sds & operator>>(vector < hdf_attr > &hav);
130 hdfistream_sds & operator>>(
hdf_sds & hs);
131 hdfistream_sds & operator>>(vector < hdf_sds > &hsv);
132 hdfistream_sds & operator>>(
hdf_dim & hd);
133 hdfistream_sds & operator>>(vector < hdf_dim > &hdv);
139 void _get_fileinfo(
void);
140 void _get_sdsinfo(
void);
141 void _close_sds(
void);
142 void _seek_next_arr(
void);
143 void _seek_arr(
int index);
144 void _seek_arr(
const string & name);
145 void _seek_arr_ref(
int ref);
148 _attr_index = _dim_index = 0;
151 static const string long_name;
152 static const string units;
153 static const string format;
166 int32 start[hdfclass::MAXDIMS];
167 int32 edge[hdfclass::MAXDIMS];
168 int32 stride[hdfclass::MAXDIMS];
181 vector < array_ce > _map_ce_vec;
186class hdfistream_annot:
public hdfistream_obj {
188 explicit hdfistream_annot(
const string& filename);
189 hdfistream_annot(
const string& filename, int32 tag, int32 ref);
190 hdfistream_annot(
const hdfistream_annot &):hdfistream_obj(*
this) {
193 ~ hdfistream_annot(
void)
override {
196 void operator=(
const hdfistream_annot &) {
199 void open(
const char *filename)
override;
200 virtual void open(
const char *filename, int32 tag, int32 ref);
202 void close(
void)
override;
203 void seek(
int index)
override
207 void seek_next(
void)
override {
210 bool eos(
void)
const override{
211 return (_index >= (
int) _an_ids.size());
213 bool bos(
void)
const override {
214 return (_index <= 0);
216 void rewind(
void)
override {
219 virtual void set_annot_type(
bool label,
bool desc)
224 hdfistream_annot & operator>>(
string & an);
225 hdfistream_annot & operator>>(vector < string > &anv);
227 void _init(
const string& filename =
"");
228 void _init(
const string& filename, int32 tag, int32 ref);
235 void _get_anninfo(
void);
236 void _get_file_anninfo(
void);
237 void _get_obj_anninfo(
void);
238 void _open(
const char *filename);
246 vector < int32 > _an_ids;
249class hdfistream_vdata:
public hdfistream_obj {
251 explicit hdfistream_vdata(
const string& filename =
"");
252 hdfistream_vdata(
const hdfistream_vdata &) : hdfistream_obj(*
this) {
255 ~hdfistream_vdata(
void)
override{
258 void operator=(
const hdfistream_vdata &) {
261 void open(
const char *filename)
override;
262 virtual void open(
const string & filename);
263 void close(
void)
override;
264 void seek(
int index = 0)
override;
265 virtual void seek(
const char *name);
266 virtual void seek(
const string & name);
267 void seek_next(
void)
override {
270 virtual void seek_ref(
int ref);
271 void rewind(
void)
override {
274 bool bos(
void)
const override
276 return (_index <= 0);
278 bool eos(
void)
const override
280 return (_index >= (
int) _vdata_refs.size());
282 virtual bool eo_attr(
void)
const;
283 void setmeta(
bool val) {
286 bool setrecs(int32 begin, int32 end);
287 hdfistream_vdata & operator>>(
hdf_vdata & hs);
288 hdfistream_vdata & operator>>(vector < hdf_vdata > &hsv);
289 hdfistream_vdata & operator>>(
hdf_attr & ha);
290 hdfistream_vdata & operator>>(vector < hdf_attr > &hav);
294 virtual bool isInternalVdata(
int ref)
const;
301 void _get_fileinfo(
void);
302 void _seek_next(
void);
303 void _seek(
const char *name);
304 void _seek(int32 ref);
307 _index = _attr_index = 0;
308 if (_vdata_refs.empty() ==
false)
309 _seek(_vdata_refs[0]);
312 hdfistream_vdata & operator>>(
hdf_field & hf);
313 hdfistream_vdata & operator>>(vector < hdf_field > &hfv);
320 vector < int32 > _vdata_refs;
328class hdfistream_vgroup:
public hdfistream_obj {
330 explicit hdfistream_vgroup(
const string & filename =
"");
331 hdfistream_vgroup(
const hdfistream_vgroup &):hdfistream_obj(*
this) {
334 ~hdfistream_vgroup(
void)
override {
337 void operator=(
const hdfistream_vgroup &) {
340 void open(
const char *filename)
override;
341 virtual void open(
const string & filename);
342 void close(
void)
override;
343 void seek(
int index = 0)
override;
344 virtual void seek(
const char *name);
345 virtual void seek(
const string & name);
346 void seek_next(
void)
override {
349 virtual void seek_ref(
int ref);
350 void rewind(
void)
override {
353 string memberName(int32 ref)
const;
354 bool bos(
void)
const override
356 return (_index <= 0);
359 bool eos(
void)
const override
361 return (_index >= (
int) _vgroup_refs.size());
363 virtual bool eo_attr(
void)
const;
364 void setmeta(
bool val) {
367 hdfistream_vgroup & operator>>(
hdf_vgroup & hs);
368 hdfistream_vgroup & operator>>(vector < hdf_vgroup > &hsv);
369 hdfistream_vgroup & operator>>(
hdf_attr & ha);
370 hdfistream_vgroup & operator>>(vector < hdf_attr > &hav);
376 void _get_fileinfo(
void);
377 void _seek_next(
void);
378 void _seek(
const char *name);
379 void _seek(int32 ref);
382 _index = _attr_index = 0;
383 if (_vgroup_refs.empty() ==
false)
384 _seek(_vgroup_refs[0]);
386 string _memberName(int32 ref)
const;
396 vector < int32 > _vgroup_refs;
405class hdfistream_gri:
public hdfistream_obj {
407 explicit hdfistream_gri(
const string& filename =
"");
408 hdfistream_gri(
const hdfistream_gri &):hdfistream_obj(*
this) {
411 ~ hdfistream_gri(
void)
override {
414 void operator=(
const hdfistream_gri &) {
417 void open(
const char *filename =
nullptr)
override;
418 void close(
void)
override;
419 void seek(
int index = 0)
override;
420 virtual void seek(
const char *name);
421 void seek_next(
void)
override {
424 virtual void seek_ref(
int ref);
425 void rewind(
void)
override;
426 bool bos(
void)
const override;
427 bool eos(
void)
const override;
428 virtual bool eo_attr(
void)
const;
429 virtual bool eo_pal(
void)
const;
430 void setmeta(
bool val) {
433 void setslab(vector < int >start, vector < int >edge,
434 vector < int >stride,
bool reduce_rank =
false);
435 void unsetslab(
void) {
436 _slab.set = _slab.reduce_rank =
false;
438 void setinterlace(int32 interlace_mode);
439 hdfistream_gri & operator>>(
hdf_gri & hr);
440 hdfistream_gri & operator>>(vector < hdf_gri > &hrv);
441 hdfistream_gri & operator>>(
hdf_attr & ha);
442 hdfistream_gri & operator>>(vector < hdf_attr > &hav);
444 hdfistream_gri & operator>>(vector < hdf_palette > &hpv);
450 void _get_fileinfo(
void);
451 void _get_iminfo(
void);
452 void _close_ri(
void);
455 _attr_index = _pal_index = 0;
466 int32 _interlace_mode;