halapi
hierarchichalalignmentformatapi
|
00001 /* 00002 * Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu) 00003 * 00004 * Released under the MIT license, see LICENSE.txt 00005 */ 00006 00007 #ifndef _RAWH5ARRAY_H 00008 #define _RAWH5ARRAY_H 00009 00010 #include <H5Cpp.h> 00011 #include "halDefs.h" 00012 00013 namespace hal { 00014 00022 class RawH5Array 00023 { 00024 public: 00025 00027 RawH5Array(); 00028 00030 bool create(H5::file, const H5std_string& path, 00031 const H5::datatype& datatype, genidx_t numElements, 00032 genidx_t chunkSize); 00033 00035 bool load(H5::file, const H5std_string& path); 00036 00038 bool write(); 00039 00041 const void* get(genidx_t i) const; 00042 00044 void* getUpdate(genidx_t i); 00045 00046 protected: 00047 00048 const H5::file& _file; 00049 const H5std_string* _path; 00050 const H5::datatype& _datatype; 00051 genidx_t _numElements; 00052 genidx_t _chunkSize; 00053 H5::dataset _dataset; 00054 genidx_t _bufSize; 00055 void* _buf; 00056 }; 00057 00058 } 00059 #endif