4 #include "compat/gsl/gsl" 17 #pragma warning( push ) 18 #pragma warning(disable:4250) 26 Group(
const std::string &name);
42 virtual Group_ptr createGroup(
const std::string &groupName) = 0;
47 virtual Group_ptr
openGroup(
const std::string &groupName)
const = 0;
52 virtual bool doesGroupExist(
const std::string &groupName)
const = 0;
55 virtual std::set<std::string> getGroupNames()
const = 0;
60 virtual void deleteGroup(
const std::string &groupName) = 0;
62 virtual Group_HDF_shared_ptr getHDF5Group()
const = 0;
65 #if ICEDB_H5_UNIFIED_GROUP_FILE == 1 66 static Group_ptr createGroup(
const std::string &name, gsl::not_null<ICEDB_H5_GROUP_OWNER_PTR> parent);
75 static Group_ptr createGroup(
const std::string &name, gsl::not_null<H5::Group*> parent);
90 static Group_ptr createGroup(
const std::string &name, gsl::not_null<H5::H5File*> parent);
92 static Group_ptr createGroup(
const std::string &name, gsl::not_null<const Group*> parent);
101 #if ICEDB_H5_UNIFIED_GROUP_FILE == 1 102 static Group_ptr
openGroup(
const std::string &name, gsl::not_null<ICEDB_H5_GROUP_OWNER_PTR> parent);
110 static Group_ptr
openGroup(
const std::string &name, gsl::not_null<H5::Group*> parent);
123 static Group_ptr
openGroup(
const std::string &name, gsl::not_null<H5::H5File*> parent);
125 static Group_ptr
openGroup(
const std::string &name, gsl::not_null<const Group*> parent);
134 static Group_ptr
openGroup(Group_HDF_shared_ptr group);
142 static Group_ptr mount(
const std::string &subdirname, gsl::not_null<const Group*> containingParent, gsl::not_null<H5::H5File*> pointsTo);
146 #pragma warning( pop )
The virtual base class used in all objects that can contain tables (groups and datasets).
std::shared_ptr< H5::Group > Group_HDF_shared_ptr
A group is similar to a folder / directory. It can have Attributes and Tables.
This is a virtual base class for objects that can have attributes. This includes tables, groups and HDF5 files.
HDFgroup_t openGroup(gsl::not_null< ICEDB_H5_GROUP_OWNER_PTR > base, gsl::not_null< const char *> name)
std::unique_ptr< Groups::Group > Group_ptr
static const std::string _icedb_obj_type_identifier
The tag used in icedb to identify a group.
const std::string name
The name of the group.