icedb  version 0.5.1
Snow particle scattering database API
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Friends | List of all members
icedb::Tables::Table Class Referenceabstract

#include <Table.hpp>

Inheritance diagram for icedb::Tables::Table:
Inheritance graph
[legend]
Collaboration diagram for icedb::Tables::Table:
Collaboration graph
[legend]

Public Types

typedef std::vector< size_t > Dimensions_Type
 The dimensions of a Table are expressed as a vector of unsigned integers. More...
 
typedef std::unique_ptr< TableTable_Type
 The preferred method of access of a Table is through std::unique_ptr. More...
 

Public Member Functions

virtual ~Table ()
 
size_t getNumDimensions () const
 Returns the number of dimensions of a table. More...
 
Dimensions_Type getDimensions () const
 Returns a vector containing the dimensions of the table. More...
 
void attachDimensionScale (size_t DimensionNumber, gsl::not_null< const Table *> scale)
 
void detachDimensionScale (size_t DimensionNumber, gsl::not_null< const Table *> scale)
 Detaches a dimension scale from this table. More...
 
bool isDimensionScale () const
 Is this Table used as a dimension scale? More...
 
void setDimensionScale (const std::string &dimensionScaleName)
 Designate this table as a dimension scale. More...
 
void setDimensionScaleAxisLabel (size_t DimensionNumber, const std::string &label)
 Set the axis label for the dimension designated by DimensionNumber. More...
 
std::string getDimensionScaleAxisLabel (size_t DimensionNumber) const
 Get the axis label for the dimension designated by DimensionNumber. More...
 
std::string getDimensionScaleName () const
 Get the name of this table's defined dimension scale. More...
 
template<class Type >
bool isTableOfType () const
 Check if this table has the matching Type. More...
 
std::type_index getTableTypeId () const
 Get the type of the table (i.e. int64_t, float, etc.) More...
 
template<class DataType >
void readAll (std::vector< size_t > &dims, std::vector< DataType > &data) const
 Read all of the data in the associated table. More...
 
template<class DataType >
void writeAll (const gsl::span< const DataType > &outData) const
 Write the passed data to the table. Writes whole table. More...
 
template<class DataType >
void writeAll (const gsl::span< DataType > &outData) const
 Write the passed data to the table. Writes whole table. More...
 
template<class DataType >
void writeAll (const std::vector< DataType > &outData) const
 Write the passed data to the table. Writes whole table. Convenience converter function. More...
 
- Public Member Functions inherited from icedb::Attributes::CanHaveAttributes
 ~CanHaveAttributes ()
 
bool doesAttributeExist (const std::string &attributeName) const
 Does the object have an attribute with the given name? More...
 
std::type_index getAttributeTypeId (const std::string &attributeName) const
 Returns the type of an attribute. More...
 
template<class Type >
bool isAttributeOfType (const std::string &attributeName) const
 Is the type of the attribute "Type"? More...
 
std::set< std::string > getAttributeNames () const
 List all attributes attached to this object. More...
 
void deleteAttribute (const std::string &attributeName)
 Delete an attribute, by name, that is attached to this object. More...
 
template<class DataType >
void readAttributeData (const std::string &attributeName, std::vector< size_t > &dimensions, std::vector< DataType > &data) const
 Function to read the data from an attribute using the provided input vectors. More...
 
template<class DataType >
void writeAttributeData (const std::string &attributeName, const std::vector< size_t > &dimensionas, const std::vector< DataType > &data)
 Function to write an attribute to an object, with the provided raw data. More...
 
template<class DataType >
Attribute< DataType > readAttribute (const std::string &attributeName) const
 Convenience function to read an attribute's data and return an Attribute object. More...
 
template<class DataType >
void writeAttribute (const Attribute< DataType > &attribute)
 Convenience function to write an Attribute to an object. More...
 
template<class DataType >
void writeAttribute (const std::string &name, std::initializer_list< size_t > dims, std::initializer_list< DataType > data)
 Convenience function to write a small Attribute to an object, using initializer lists. More...
 

Public Attributes

const std::string name
 The name of the Table. More...
 

Protected Member Functions

virtual void _setTableSelf (std::shared_ptr< H5::DataSet > obj)=0
 Associates the icedb table with the fundamental HDF5 DataSet. Only used internally. More...
 
virtual std::shared_ptr< H5::DataSet > _getTableSelf () const =0
 Gets the fundamental HDF5 DataSet associated with the table. Only used internally. More...
 
bool valid () const
 Checks that Table is well-formed during runtime. Only used internally. More...
 
 Table (const std::string &name="")
 Default constructor, used by CanHaveTables. More...
 
- Protected Member Functions inherited from icedb::Attributes::CanHaveAttributes
 CanHaveAttributes ()
 
virtual void _setAttributeParent (std::shared_ptr< H5::H5Object > obj)=0
 
virtual std::shared_ptr< H5::H5Object > _getAttributeParent () const =0
 

Private Member Functions

template<class DataType >
void writeAllInner (const gsl::span< const DataType > &outData) const
 

Friends

class CanHaveTables
 

Additional Inherited Members

- Static Public Member Functions inherited from icedb::Attributes::CanHaveAttributes
static bool doesAttributeExist (gsl::not_null< const H5::H5Object *> parent, const std::string &attributeName)
 Does an object (parent) have an attribute with the given name? More...
 
static std::type_index getAttributeTypeId (gsl::not_null< const H5::H5Object *> parent, const std::string &attributeName)
 Returns the type of an attribute. More...
 
template<class DataType >
static void readAttributeData (gsl::not_null< const H5::H5Object *> parent, const std::string &attributeName, std::vector< size_t > &dimensions, std::vector< DataType > &data)
 Function to read the data from an attribute. More...
 
template<class DataType >
static Attribute< DataType > readAttribute (gsl::not_null< const H5::H5Object *> obj, const std::string &attributeName)
 Convenience function to read an attribute's data and return an Attribute object. More...
 

Detailed Description

This defines a table.

See also
CanHaveTables for the functions to create, access and remove tables.

Definition at line 16 of file Table.hpp.

Member Typedef Documentation

◆ Dimensions_Type

typedef std::vector<size_t> icedb::Tables::Table::Dimensions_Type

The dimensions of a Table are expressed as a vector of unsigned integers.

Definition at line 33 of file Table.hpp.

◆ Table_Type

typedef std::unique_ptr<Table> icedb::Tables::Table::Table_Type

The preferred method of access of a Table is through std::unique_ptr.

Definition at line 35 of file Table.hpp.

Constructor & Destructor Documentation

◆ Table()

icedb::Tables::Table::Table ( const std::string &  name = "")
protected

Default constructor, used by CanHaveTables.

Definition at line 11 of file Tables.cpp.

11 : name{ name } {}
const std::string name
The name of the Table.
Definition: Table.hpp:31

◆ ~Table()

icedb::Tables::Table::~Table ( )
virtual

Definition at line 10 of file Tables.cpp.

10 {}

Member Function Documentation

◆ _getTableSelf()

virtual std::shared_ptr<H5::DataSet> icedb::Tables::Table::_getTableSelf ( ) const
protectedpure virtual

Gets the fundamental HDF5 DataSet associated with the table. Only used internally.

Implemented in icedb::Tables::Table_impl.

Referenced by attachDimensionScale(), detachDimensionScale(), getDimensions(), getDimensionScaleAxisLabel(), getDimensionScaleName(), getNumDimensions(), getTableTypeId(), isDimensionScale(), readAll(), setDimensionScale(), setDimensionScaleAxisLabel(), valid(), and writeAllInner().

Here is the caller graph for this function:

◆ _setTableSelf()

virtual void icedb::Tables::Table::_setTableSelf ( std::shared_ptr< H5::DataSet >  obj)
protectedpure virtual

Associates the icedb table with the fundamental HDF5 DataSet. Only used internally.

Implemented in icedb::Tables::Table_impl.

◆ attachDimensionScale()

void icedb::Tables::Table::attachDimensionScale ( size_t  DimensionNumber,
gsl::not_null< const Table *>  scale 
)

Attaches a dimension scale to a table.

See also
the HDF5 HL dimension scale API docs, at https://support.hdfgroup.org/HDF5/doc/HL/RM_H5DS.html Attach a dimension scale to this table.

Definition at line 29 of file Tables.cpp.

References _getTableSelf(), getNumDimensions(), and valid().

29  {
30  Expects(valid());
31  Expects(scale->valid());
32  Expects(DimensionNumber < getNumDimensions());
33  auto selfptr = _getTableSelf();
34  auto tblscaleptr = scale->_getTableSelf();
35  const herr_t res = H5DSattach_scale(selfptr->getId(), tblscaleptr->getId(), static_cast<unsigned int>(DimensionNumber));
36  assert(res == 0);
37  }
size_t getNumDimensions() const
Returns the number of dimensions of a table.
Definition: Tables.cpp:15
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ detachDimensionScale()

void icedb::Tables::Table::detachDimensionScale ( size_t  DimensionNumber,
gsl::not_null< const Table *>  scale 
)

Detaches a dimension scale from this table.

Definition at line 39 of file Tables.cpp.

References _getTableSelf(), getNumDimensions(), and valid().

39  {
40  Expects(valid());
41  Expects(scale->valid());
42  Expects(DimensionNumber < getNumDimensions());
43  auto selfptr = _getTableSelf();
44  auto tblscaleptr = scale->_getTableSelf();
45  const herr_t res = H5DSdetach_scale(selfptr->getId(), tblscaleptr->getId(), static_cast<unsigned int>(DimensionNumber));
46  assert(res == 0);
47  }
size_t getNumDimensions() const
Returns the number of dimensions of a table.
Definition: Tables.cpp:15
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ getDimensions()

Table::Dimensions_Type icedb::Tables::Table::getDimensions ( ) const

Returns a vector containing the dimensions of the table.

Definition at line 21 of file Tables.cpp.

References _getTableSelf(), icedb::fs::hdf5::readDatasetDimensions(), and valid().

Referenced by writeAllInner().

21  {
22  Expects(valid());
23  auto ptr = _getTableSelf();
25  fs::hdf5::readDatasetDimensions(ptr.get(), dims);
26  return dims;
27  }
std::vector< size_t > Dimensions_Type
The dimensions of a Table are expressed as a vector of unsigned integers.
Definition: Table.hpp:33
void readDatasetDimensions(gsl::not_null< H5::DataSet *> dataset, std::vector< size_t > &dims)
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getDimensionScaleAxisLabel()

std::string icedb::Tables::Table::getDimensionScaleAxisLabel ( size_t  DimensionNumber) const

Get the axis label for the dimension designated by DimensionNumber.

Definition at line 122 of file Tables.cpp.

References _getTableSelf(), getNumDimensions(), and valid().

122  {
123  Expects(valid());
124  Expects(DimensionNumber < getNumDimensions());
125  auto selfptr = _getTableSelf();
126  constexpr size_t max_label_size = 1000;
127  std::array<char, max_label_size> label;
128  label.fill('\0');
129  const ssize_t res = H5DSget_label(selfptr->getId(), static_cast<unsigned int>(DimensionNumber), label.data(), max_label_size);
130  // res is the size of the label. The HDF5 documentation does not include whether the label is null-terminated,
131  // so I am terminating it manually.
132  label[max_label_size - 1] = '\0';
133  return std::string(label.data());
134  }
size_t getNumDimensions() const
Returns the number of dimensions of a table.
Definition: Tables.cpp:15
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ getDimensionScaleName()

std::string icedb::Tables::Table::getDimensionScaleName ( ) const

Get the name of this table's defined dimension scale.

Definition at line 136 of file Tables.cpp.

References _getTableSelf(), and valid().

136  {
137  Expects(valid());
138  auto selfptr = _getTableSelf();
139  constexpr size_t max_label_size = 1000;
140  std::array<char, max_label_size> label;
141  label.fill('\0');
142  const ssize_t res = H5DSget_scale_name(selfptr->getId(), label.data(), max_label_size);
143  // res is the size of the label. The HDF5 documentation does not include whether the label is null-terminated,
144  // so I am terminating it manually.
145  label[max_label_size - 1] = '\0';
146  return std::string(label.data());
147  }
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ getNumDimensions()

size_t icedb::Tables::Table::getNumDimensions ( ) const

Returns the number of dimensions of a table.

Todo:
Need to ensure that tables have dimension scales attached in all cases. Required for netCDF compatibility.

Definition at line 15 of file Tables.cpp.

References _getTableSelf(), icedb::fs::hdf5::readDatasetNumDimensions(), and valid().

Referenced by attachDimensionScale(), detachDimensionScale(), getDimensionScaleAxisLabel(), and setDimensionScaleAxisLabel().

15  {
16  Expects(valid());
17  auto ptr = _getTableSelf();
18  return fs::hdf5::readDatasetNumDimensions(ptr.get());
19  }
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
size_t readDatasetNumDimensions(gsl::not_null< H5::DataSet *> dataset)
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTableTypeId()

std::type_index icedb::Tables::Table::getTableTypeId ( ) const

Get the type of the table (i.e. int64_t, float, etc.)

Definition at line 149 of file Tables.cpp.

References _getTableSelf(), and valid().

149  {
150  Expects(valid());
151  auto selfptr = _getTableSelf();
152  if (fs::hdf5::isType<uint64_t, H5::DataSet>(selfptr.get())) return (typeid(uint64_t));
153  if (fs::hdf5::isType<int64_t, H5::DataSet>(selfptr.get())) return (typeid(int64_t));
154  if (fs::hdf5::isType<uint32_t, H5::DataSet>(selfptr.get())) return (typeid(uint32_t));
155  if (fs::hdf5::isType<int32_t, H5::DataSet>(selfptr.get())) return (typeid(int32_t));
156  if (fs::hdf5::isType<uint16_t, H5::DataSet>(selfptr.get())) return (typeid(uint16_t));
157  if (fs::hdf5::isType<int16_t, H5::DataSet>(selfptr.get())) return (typeid(int16_t));
158  if (fs::hdf5::isType<uint8_t, H5::DataSet>(selfptr.get())) return (typeid(uint8_t));
159  if (fs::hdf5::isType<int8_t, H5::DataSet>(selfptr.get())) return (typeid(int8_t));
160  if (fs::hdf5::isType<double, H5::DataSet>(selfptr.get())) return (typeid(double));
161  if (fs::hdf5::isType<float, H5::DataSet>(selfptr.get())) return (typeid(float));
162  if (fs::hdf5::isType<char, H5::DataSet>(selfptr.get())) return (typeid(char));
163  if (fs::hdf5::isType<std::string, H5::DataSet>(selfptr.get())) return (typeid(std::string));
164  throw;
165  }
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ isDimensionScale()

bool icedb::Tables::Table::isDimensionScale ( ) const

Is this Table used as a dimension scale?

Definition at line 97 of file Tables.cpp.

References _getTableSelf(), and valid().

Referenced by setDimensionScale().

97  {
98  Expects(valid());
99  auto selfptr = _getTableSelf();
100  const htri_t res = H5DSis_scale(selfptr->getId());
101  assert(res >= 0);
102  if (res > 0) return true;
103  return false;
104  }
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isTableOfType()

template<class Type >
bool icedb::Tables::Table::isTableOfType ( ) const
inline

Check if this table has the matching Type.

Definition at line 68 of file Table.hpp.

68  {
69  std::type_index atype = getTableTypeId();
70  if (atype == typeid(Type)) return true;
71  return false;
72  }
std::type_index getTableTypeId() const
Get the type of the table (i.e. int64_t, float, etc.)
Definition: Tables.cpp:149

◆ readAll()

template<class DataType >
void icedb::Tables::Table::readAll ( std::vector< size_t > &  dims,
std::vector< DataType > &  data 
) const

Read all of the data in the associated table.

Parameters
DataTypeis the type of data.
Exceptions
ifthe DataType is mismatched (see isTableOfType and getTableTypeId).
Parameters
dimsis an output parameter representing the size of each of the table's dimensions
datais an output parameter that stores the table's data.
Note
This convenience function uses a std::vector to store the output. This uses dynamic memory.

Definition at line 180 of file Tables.cpp.

References _getTableSelf(), icedb::fs::hdf5::readDatasetDimensions(), and valid().

183  {
184  Expects(valid());
185  auto selfptr = _getTableSelf();
186  fs::hdf5::readDatasetDimensions(selfptr.get(), dims);
187  size_t sz = 1;
188  for (const auto &s : dims) sz *= s;
189  data.resize(sz);
190 
191  pullData<DataType, H5::DataSet>(dims, data, selfptr.get());
192  }
void readDatasetDimensions(gsl::not_null< H5::DataSet *> dataset, std::vector< size_t > &dims)
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ setDimensionScale()

void icedb::Tables::Table::setDimensionScale ( const std::string &  dimensionScaleName)

Designate this table as a dimension scale.

Definition at line 106 of file Tables.cpp.

References _getTableSelf(), isDimensionScale(), and valid().

Referenced by icedb::Shapes::Shape::createShape().

106  {
107  Expects(valid());
108  Expects(!isDimensionScale());
109  auto selfptr = _getTableSelf();
110  const htri_t res = H5DSset_scale(selfptr->getId(), dimensionScaleName.c_str());
111  assert(res == 0);
112  }
bool isDimensionScale() const
Is this Table used as a dimension scale?
Definition: Tables.cpp:97
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDimensionScaleAxisLabel()

void icedb::Tables::Table::setDimensionScaleAxisLabel ( size_t  DimensionNumber,
const std::string &  label 
)

Set the axis label for the dimension designated by DimensionNumber.

Definition at line 114 of file Tables.cpp.

References _getTableSelf(), getNumDimensions(), and valid().

114  {
115  Expects(valid());
116  Expects(DimensionNumber < getNumDimensions());
117  auto selfptr = _getTableSelf();
118  const htri_t res = H5DSset_label(selfptr->getId(), static_cast<unsigned int>(DimensionNumber), label.c_str());
119  assert(res == 0);
120  }
size_t getNumDimensions() const
Returns the number of dimensions of a table.
Definition: Tables.cpp:15
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

◆ valid()

bool icedb::Tables::Table::valid ( ) const
protected

Checks that Table is well-formed during runtime. Only used internally.

Definition at line 13 of file Tables.cpp.

References _getTableSelf().

Referenced by icedb::Tables::CanHaveTables::_createTable(), attachDimensionScale(), detachDimensionScale(), getDimensions(), getDimensionScaleAxisLabel(), getDimensionScaleName(), getNumDimensions(), icedb::Tables::CanHaveTables::getTableNames(), getTableTypeId(), isDimensionScale(), icedb::Tables::CanHaveTables::openTable(), readAll(), setDimensionScale(), setDimensionScaleAxisLabel(), icedb::Tables::CanHaveTables::unlinkTable(), and writeAllInner().

13 { if (_getTableSelf()) return true; return false; }
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeAll() [1/3]

template<class DataType >
void icedb::Tables::Table::writeAll ( const gsl::span< const DataType > &  outData) const
inline

Write the passed data to the table. Writes whole table.

Parameters
DataTypeis the type of the data.
Exceptions
ifthe DataType does not match the fundamental type of the table.
Parameters
outDatais the data to be written to the table.
Exceptions
ifoutData's size does not match the table's size.

Definition at line 100 of file Table.hpp.

Referenced by icedb::Shapes::Shape::createShape().

100  {
101  static_assert(icedb::Data_Types::Is_Valid_Data_Type<DataType>() == true,
102  "Data to be written must be a valid data type");
103  this->template writeAllInner<DataType>(outData);
104  }
Here is the caller graph for this function:

◆ writeAll() [2/3]

template<class DataType >
void icedb::Tables::Table::writeAll ( const gsl::span< DataType > &  outData) const
inline

Write the passed data to the table. Writes whole table.

Parameters
DataTypeis the type of the data.
Exceptions
ifthe DataType does not match the fundamental type of the table.
Parameters
outDatais the data to be written to the table.
Exceptions
ifoutData's size does not match the table's size.

Definition at line 111 of file Table.hpp.

111  {
112  this->template writeAll<DataType>(gsl::span<const DataType>(outData.cbegin(), outData.cend()));
113  }

◆ writeAll() [3/3]

template<class DataType >
void icedb::Tables::Table::writeAll ( const std::vector< DataType > &  outData) const
inline

Write the passed data to the table. Writes whole table. Convenience converter function.

Parameters
DataTypeis the type of the data.
Exceptions
ifthe DataType does not match the fundamental type of the table.
Parameters
outDatais the data to be written to the table.
Exceptions
ifoutData's size does not match the table's size.

Definition at line 120 of file Table.hpp.

120  {
121  this->template writeAll<DataType>(gsl::span<const DataType>(outData.data(), outData.size()));
122  }

◆ writeAllInner()

template<class DataType >
void icedb::Tables::Table::writeAllInner ( const gsl::span< const DataType > &  outData) const
private

Definition at line 221 of file Tables.cpp.

References _getTableSelf(), getDimensions(), and valid().

221  {
222  Expects(valid());
223  Expects(isTableOfType<DataType>());
224  auto selfptr = _getTableSelf();
225  const auto dimensionality = getDimensions();
226  size_t sz = 1;
227  for (const auto &d : dimensionality) sz *= d;
228  Expects(outData.size() == sz);
229  icedb::fs::hdf5::writeDatasetArray<DataType, H5::DataSet>(dimensionality, selfptr.get(), outData.data());
230  }
Dimensions_Type getDimensions() const
Returns a vector containing the dimensions of the table.
Definition: Tables.cpp:21
bool valid() const
Checks that Table is well-formed during runtime. Only used internally.
Definition: Tables.cpp:13
virtual std::shared_ptr< H5::DataSet > _getTableSelf() const =0
Gets the fundamental HDF5 DataSet associated with the table. Only used internally.
Here is the call graph for this function:

Friends And Related Function Documentation

◆ CanHaveTables

friend class CanHaveTables
friend

Definition at line 17 of file Table.hpp.

Member Data Documentation

◆ name

const std::string icedb::Tables::Table::name

The name of the Table.

Definition at line 31 of file Table.hpp.


The documentation for this class was generated from the following files: