File: HDFData.hpp

package info (click to toggle)
pbseqlib 5.3.4%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 7,020 kB
  • sloc: cpp: 77,246; python: 331; sh: 103; makefile: 42
file content (55 lines) | stat: -rw-r--r-- 1,465 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef _BLASR_HDF_DATA_HPP_
#define _BLASR_HDF_DATA_HPP_

#include <string>

#include <H5Cpp.h>

#include <hdf/HDFAttributable.hpp>
#include <hdf/HDFConfig.hpp>
#include <hdf/HDFGroup.hpp>

class HDFData : public HDFAttributable
{
public:
    H5::DataSet dataset;
    H5::DataSpace dataspace;
    H5::DataSpace sourceSpace, destSpace;
    H5::DataSpace fullSourceSpace;
    bool fileDataSpaceInitialized;
    H5::CommonFG *container;
    std::string datasetName;
    bool isInitialized;

    H5::H5Location *GetObject();

    HDFData(H5::CommonFG *_container, const std::string &_datasetName);

    HDFData();

    bool IsInitialized() const;

    //
    // Allow derived classes to be initialized generically.
    //
    // FIXME(yli): This method and the Initialize methods in
    // subclasses cause compilation warnings under clang.  For
    // example, see the discussion here:
    //
    // http://stackoverflow.com/questions/18515183/c-overloaded-virtual-function-warning-by-clang
    //
    // To fix the problem here may require rethinking the initialize
    // method more carefully.
    //
    virtual int Initialize(HDFGroup &parentGroup, const std::string &datasetName);

    int BaseInitializeDataset(H5::CommonFG &hdfFile, const std::string &_datasetName);

    int InitializeDataset(HDFGroup &group, const std::string &_datasetName);

    int InitializeDataset(H5::CommonFG &hdfFile, const std::string &_datasetName);

    void Close();
};

#endif