cnorxz/src/opt/hdf5/include/h5_file.h

41 lines
976 B
C
Raw Normal View History

2023-01-12 19:29:45 +01:00
#ifndef __cxz_h5_file_h__
#define __cxz_h5_file_h__
#include "h5_content_base.h"
#include <hdf5.h>
namespace CNORXZ
{
namespace hdf5
{
// maybe introduce abstraction layer between as base for File and Group
class File : public ContentBase
{
public:
DEFAULT_MEMBERS(File);
File(const String& fname, bool _ro = true);
~File();
virtual ContentType type() const override final;
virtual bool ro() const override final;
virtual File& load() override final;
virtual File& write() override final;
virtual File& close() override final;
virtual MArray<Sptr<ContentBase>>* get() override final;
virtual const MArray<Sptr<ContentBase>>* get() const override final;
2023-01-12 19:29:45 +01:00
virtual String path() const override final;
virtual String filename() const override final;
Int exists() const;
File& append(const ContentPtr& c);
private:
bool mRo = true;
MArray<ContentPtr> mCont;
};
}
}
#endif