icedb  version 0.5.1
Snow particle scattering database API
Public Member Functions | List of all members
icedb::Shapes::Shape_impl Class Reference

#include <Shape_impl.hpp>

Inheritance diagram for icedb::Shapes::Shape_impl:
Inheritance graph
[legend]
Collaboration diagram for icedb::Shapes::Shape_impl:
Collaboration graph
[legend]

Public Member Functions

 Shape_impl (const std::string &id, Groups::Group::Group_HDF_shared_ptr grp)
 
virtual ~Shape_impl ()
 
- Public Member Functions inherited from icedb::Shapes::Shape
virtual ~Shape ()
 
bool isShape () const
 Is this object actually a shape? More...
 
bool isValid (std::ostream *out=nullptr) const
 Is this object a valid shape, according to the spec? More...
 
- Public Member Functions inherited from icedb::Groups::Group
virtual ~Group ()
 
- 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 Member Functions inherited from icedb::Tables::CanHaveTables
 ~CanHaveTables ()
 
std::set< std::string > getTableNames () const
 Lists all table names that are children of this object. More...
 
bool doesTableExist (const std::string &tableName) const
 Does a table exist with the given name. More...
 
void unlinkTable (const std::string &tableName)
 Unlink a table. In HDF5, this is not the same as erasing a table, which never actually happens. More...
 
Table::Table_Type openTable (const std::string &tableName)
 
std::vector< size_t > getChunkStrategy (const std::vector< size_t > &dims)
 The default chunking strategy for this table. Used for storage i/o speed, and for compression. More...
 
template<class DataType >
Table::Table_Type createTable (const std::string &tableName, const std::vector< size_t > &dims, const std::vector< size_t > *chunks=nullptr)
 Create a table. More...
 
template<class DataType >
Table::Table_Type createTable (const std::string &tableName, std::initializer_list< size_t > dims, const std::vector< size_t > *chunks=nullptr)
 Create a table. More...
 
template<class DataType >
Table::Table_Type createTable (const std::string &tableName, std::initializer_list< size_t > dims, std::initializer_list< DataType > data, const std::vector< size_t > *chunks=nullptr)
 Create a table and writes initial data. Used with small tables. More...
 
template<class DataType >
Table::Table_Type createTable (const std::string &tableName, std::initializer_list< size_t > dims, const std::vector< DataType > &data, const std::vector< size_t > *chunks=nullptr)
 Create a table and sets the table's initial data. More...
 
template<class DataType >
Table::Table_Type createTable (const std::string &tableName, std::initializer_list< size_t > dims, const gsl::span< DataType > &data, const std::vector< size_t > *chunks=nullptr)
 Create a table and sets the table's initial data. More...
 
template<class DataType >
Table::Table_Type createTable (const std::string &tableName, std::initializer_list< size_t > dims, const gsl::span< const DataType > &data, const std::vector< size_t > *chunks=nullptr)
 Create a table and sets the table's initial data. More...
 
- Public Member Functions inherited from icedb::Groups::Group_impl
 Group_impl ()
 
 Group_impl (const std::string &name, gsl::not_null< H5::Group *> parent)
 
 Group_impl (const std::string &name, gsl::not_null< H5::H5File *> parent)
 
 Group_impl (const std::string &name, gsl::not_null< const Group *> parent)
 
 Group_impl (Group_HDF_shared_ptr grp)
 
virtual ~Group_impl ()
 
Group_ptr createGroup (const std::string &groupName) override
 Create a group. More...
 
Group_ptr openGroup (const std::string &groupName) const override
 Opens a group. More...
 
bool doesGroupExist (const std::string &groupName) const override
 Does a group with this name exist? More...
 
std::set< std::string > getGroupNames () const override
 
void deleteGroup (const std::string &groupName) override
 Unlink the specified child group. More...
 
Group_HDF_shared_ptr getHDF5Group () const override
 Get the fundamental HDF5 object that the group is built on. More...
 
- Public Member Functions inherited from icedb::Attributes::CanHaveAttributes_impl
 CanHaveAttributes_impl (std::shared_ptr< H5::H5Object >)
 
 CanHaveAttributes_impl ()
 
virtual ~CanHaveAttributes_impl ()
 
- Public Member Functions inherited from icedb::Tables::CanHaveTables_impl
virtual ~CanHaveTables_impl ()
 
 CanHaveTables_impl ()
 

Additional Inherited Members

- Public Types inherited from icedb::Shapes::Shape
typedef std::unique_ptr< ShapeShape_Type
 The preferred C++ type for referencing a shape. More...
 
- Public Types inherited from icedb::Groups::Group
typedef std::unique_ptr< Groups::GroupGroup_ptr
 
typedef std::shared_ptr< H5::Group > Group_HDF_shared_ptr
 
- Static Public Member Functions inherited from icedb::Shapes::Shape
static bool isShape (Groups::Group &owner, const std::string &name)
 Is this object a shape? More...
 
static bool isShape (gsl::not_null< H5::Group *> group)
 Is this object a group? More...
 
static bool isValid (gsl::not_null< H5::Group *> group, std::ostream *out=nullptr)
 Is "group" a valid shape, according to the spec.? More...
 
static Shape_Type openShape (Groups::Group &grpshp)
 
static Shape_Type openShape (Groups::Group &owner, const std::string &name)
 Open a group's subgroup as a shape. More...
 
static Shape_Type openShape (Groups::Group::Group_HDF_shared_ptr shape)
 Re-open an open HDF5 group as a shape. More...
 
static Shape_Type createShape (Groups::Group &grpshp, const std::string &uid, gsl::not_null< const NewShapeRequiredProperties *> required, const NewShapeCommonOptionalProperties *optional=nullptr)
 Create a new shape. More...
 
static Shape_Type createShape (Groups::Group &owner, const std::string &name, const std::string &uid, gsl::not_null< const NewShapeRequiredProperties *> required, const NewShapeCommonOptionalProperties *optional=nullptr)
 Create a new shape. More...
 
static Shape_Type createShape (Groups::Group::Group_HDF_shared_ptr newShapeLocation, const std::string &uid, gsl::not_null< const NewShapeRequiredProperties *> required, const NewShapeCommonOptionalProperties *optional=nullptr)
 Create a new shape. More...
 
- Static Public Member Functions inherited from icedb::Groups::Group
static Group_ptr createGroup (const std::string &name, gsl::not_null< H5::Group *> parent)
 Create a group with a specified parent (static function) More...
 
static Group_ptr createGroup (const std::string &name, gsl::not_null< H5::H5File *> parent)
 Create a group with a specified parent (static function) More...
 
static Group_ptr createGroup (const std::string &name, gsl::not_null< const Group *> parent)
 Create a group with a specified parent (static function) More...
 
static Group_ptr openGroup (const std::string &name, gsl::not_null< H5::Group *> parent)
 Open a group under the specified parent (static function) More...
 
static Group_ptr openGroup (const std::string &name, gsl::not_null< H5::H5File *> parent)
 Open a group under the specified parent (static function) More...
 
static Group_ptr openGroup (const std::string &name, gsl::not_null< const Group *> parent)
 Open a group under the specified parent (static function) More...
 
static Group_ptr openGroup (Group_HDF_shared_ptr group)
 Open an icedb group from an HDF5 group object. More...
 
static Group_ptr mount (const std::string &subdirname, gsl::not_null< const Group *> containingParent, gsl::not_null< H5::H5File *> pointsTo)
 Mount an HDF5 file as a child 'group'. More...
 
- 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...
 
- Public Attributes inherited from icedb::Shapes::Shape
const std::string particle_unique_id
 This is the unique identifier for this shape. More...
 
- Public Attributes inherited from icedb::Groups::Group
const std::string name
 The name of the group. More...
 
- Static Public Attributes inherited from icedb::Shapes::Shape
static const std::string _icedb_obj_type_shape_identifier = "shape"
 Each shape 'group' has an attribute with this identifier. Used for shape collection and searching. More...
 
- Static Public Attributes inherited from icedb::Groups::Group
static const std::string _icedb_obj_type_identifier = { "_icedb_obj_type" }
 The tag used in icedb to identify a group. More...
 
- Protected Member Functions inherited from icedb::Shapes::Shape
 Shape (const std::string &uid)
 
- Protected Member Functions inherited from icedb::Groups::Group
 Group ()
 
 Group (const std::string &name)
 
- Protected Member Functions inherited from icedb::Attributes::CanHaveAttributes
 CanHaveAttributes ()
 
- Protected Member Functions inherited from icedb::Tables::CanHaveTables
 CanHaveTables ()
 Trivial constructor used when CanHaveTables is a virtual base class. More...
 
- Protected Member Functions inherited from icedb::Attributes::CanHaveAttributes_impl
virtual void _setAttributeParent (std::shared_ptr< H5::H5Object > obj) override
 
virtual std::shared_ptr< H5::H5Object > _getAttributeParent () const override
 
- Protected Member Functions inherited from icedb::Tables::CanHaveTables_impl
void _setTablesParent (std::shared_ptr< H5::Group > obj) override
 CanHaveTables needs post-constructor setup. This sets the base HDF5 object that gets manipulated. More...
 
std::shared_ptr< H5::Group > _getTablesParent () const override
 Gets the base HDF5 object that is manipulated. More...
 

Detailed Description

Definition at line 10 of file Shape_impl.hpp.

Constructor & Destructor Documentation

◆ Shape_impl()

icedb::Shapes::Shape_impl::Shape_impl ( const std::string &  id,
Groups::Group::Group_HDF_shared_ptr  grp 
)

Definition at line 156 of file Shapes.cpp.

References icedb::Groups::Group_impl::grp.

157  : Shape{ id }, Groups::Group_impl( grp ) {}
Group_HDF_shared_ptr grp
Definition: Group_impl.hpp:17
Shape(const std::string &uid)
Definition: Shapes.cpp:160

◆ ~Shape_impl()

icedb::Shapes::Shape_impl::~Shape_impl ( )
virtual

Definition at line 158 of file Shapes.cpp.

158 {}

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