icedb  version 0.5.1
Snow particle scattering database API
Table_impl.hpp
Go to the documentation of this file.
1 #pragma once
2 #include "../icedb/Table.hpp"
3 #include "Attribute_impl.hpp"
4 
5 namespace icedb {
6  namespace Tables {
7 #ifdef _MSC_FULL_VER
8 #pragma warning( push )
9 #pragma warning(disable:4250)
10 #endif
11 
12  class Table_impl : virtual public Table, virtual public Attributes::CanHaveAttributes_impl {
13  std::shared_ptr<H5::DataSet> obj;
14  protected:
15  void _setTableSelf(std::shared_ptr<H5::DataSet> obj) override;
16  std::shared_ptr<H5::DataSet> _getTableSelf() const override;
17  public:
18  virtual ~Table_impl();
19  Table_impl(std::shared_ptr<H5::DataSet> obj, const std::string &name = "");
20  };
21 
22  class CanHaveTables_impl : virtual public CanHaveTables {
23  std::shared_ptr<H5::Group> obj;
24  protected:
25  void _setTablesParent(std::shared_ptr<H5::Group> obj) override;
26  std::shared_ptr<H5::Group> _getTablesParent() const override;
27  public:
28  virtual ~CanHaveTables_impl();
30  };
31 
32 #ifdef _MSC_FULL_VER
33 #pragma warning( pop )
34 #endif
35  }
36 }
void _setTableSelf(std::shared_ptr< H5::DataSet > obj) override
Associates the icedb table with the fundamental HDF5 DataSet. Only used internally.
Definition: Tables.cpp:332
const std::string name
The name of the Table.
Definition: Table.hpp:31
The virtual base class used in all objects that can contain tables (groups and datasets).
Definition: Table.hpp:126
std::shared_ptr< H5::Group > obj
Definition: Table_impl.hpp:23
std::shared_ptr< H5::DataSet > _getTableSelf() const override
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Definition: Tables.cpp:333
Table_impl(std::shared_ptr< H5::DataSet > obj, const std::string &name="")
Definition: Tables.cpp:335
std::shared_ptr< H5::DataSet > obj
Definition: Table_impl.hpp:13