halapi
hierarchichalalignmentformatapi
inc/rawH5Array.h
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
 All Classes Functions Variables