2023-01-12 19:29:45 +01:00
|
|
|
|
|
|
|
#ifndef __cxz_h5_file_h__
|
|
|
|
#define __cxz_h5_file_h__
|
|
|
|
|
|
|
|
#include "h5_content_base.h"
|
2023-01-18 00:49:11 +01:00
|
|
|
#include "h5_group.h"
|
|
|
|
//#include <hdf5.h>
|
2023-01-12 19:29:45 +01:00
|
|
|
|
|
|
|
namespace CNORXZ
|
|
|
|
{
|
|
|
|
namespace hdf5
|
|
|
|
{
|
|
|
|
// maybe introduce abstraction layer between as base for File and Group
|
2023-01-18 00:49:11 +01:00
|
|
|
class File : public Group
|
2023-01-12 19:29:45 +01:00
|
|
|
{
|
|
|
|
public:
|
2023-01-15 03:18:21 +01:00
|
|
|
typedef URange<String> RangeT;
|
|
|
|
|
2023-01-12 19:29:45 +01:00
|
|
|
DEFAULT_MEMBERS(File);
|
|
|
|
File(const String& fname, bool _ro = true);
|
|
|
|
~File();
|
|
|
|
|
|
|
|
virtual ContentType type() const override final;
|
|
|
|
virtual bool ro() const override final;
|
2023-01-18 00:49:11 +01:00
|
|
|
virtual File& open() override final;
|
2023-01-12 19:29:45 +01:00
|
|
|
virtual File& close() override final;
|
|
|
|
virtual String path() const override final;
|
|
|
|
virtual String filename() const override final;
|
|
|
|
|
2023-01-18 00:49:11 +01:00
|
|
|
virtual Int exists() const override final;
|
2023-01-12 19:29:45 +01:00
|
|
|
|
|
|
|
private:
|
|
|
|
bool mRo = true;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|