9 #ifndef H5NODE_TRAITS_HPP
10 #define H5NODE_TRAITS_HPP
14 #include "../H5PropertyList.hpp"
22 template <
typename Derivate>
51 template <
typename Type>
75 template <std::
size_t N>
88 const std::string& dataset_name,
126 bool rename(
const std::string& src_path,
127 const std::string& dest_path,
128 bool parents =
true)
const;
139 bool exist(
const std::string& node_name)
const;
144 void unlink(
const std::string& node_name)
const;
157 typedef Derivate derivate_type;
162 bool _exist(
const std::string& node_name,
bool raise_errors =
true)
const;
165 Object _open(
const std::string& node_name,
Class representing a dataset.
Definition: H5DataSet.hpp:29
Class representing the space (dimensions) of a dataset.
Definition: H5DataSpace.hpp:37
HDF5 Data Type.
Definition: H5DataType.hpp:42
A structure representing a set of fixed-length strings.
Definition: H5DataType.hpp:239
Represents an hdf5 group.
Definition: H5Group.hpp:23
NodeTraits: Base class for Group and File.
Definition: H5Node_traits.hpp:23
Group getGroup(const std::string &group_name) const
open an existing group with the name group_name
Definition: H5Node_traits_misc.hpp:124
void unlink(const std::string &node_name) const
unlink the given dataset or group
Definition: H5Node_traits_misc.hpp:231
DataSet createDataSet(const std::string &dataset_name, const DataSpace &space, const DataType &type, const DataSetCreateProps &createProps=DataSetCreateProps(), const DataSetAccessProps &accessProps=DataSetAccessProps())
createDataSet Create a new dataset in the current file of datatype type and of size space
Definition: H5Node_traits_misc.hpp:36
DataSet getDataSet(const std::string &dataset_name, const DataSetAccessProps &accessProps=DataSetAccessProps()) const
get an existing dataset in the current file
Definition: H5Node_traits_misc.hpp:95
std::string getPath() const
return the path to the current object
Definition: H5Node_traits_misc.hpp:154
Group createGroup(const std::string &group_name, bool parents=true)
create a new group, and eventually intermediate groups
Definition: H5Node_traits_misc.hpp:107
bool rename(const std::string &src_path, const std::string &dest_path, bool parents=true) const
moves an object and its content within an HDF5 file.
Definition: H5Node_traits_misc.hpp:161
bool exist(const std::string &node_name) const
check a dataset or group exists in the current node / group
Definition: H5Node_traits_misc.hpp:218
std::vector< std::string > listObjectNames() const
list all leaf objects name of the node / group
Definition: H5Node_traits_misc.hpp:178
ObjectType getObjectType(const std::string &node_name) const
A shorthand to get the kind of object pointed to (group, dataset, type...)
Definition: H5Node_traits_misc.hpp:273
size_t getNumberObjects() const
return the number of leaf objects of the node / group
Definition: H5Node_traits_misc.hpp:135
std::string getObjectName(size_t index) const
return the name of the object with the given index
Definition: H5Node_traits_misc.hpp:145
LinkType getLinkType(const std::string &node_name) const
Returns the kind of link of the given name (soft, hard...)
Definition: H5Node_traits_misc.hpp:261
Definition: H5Object.hpp:36
Base HDF5 property List.
Definition: H5PropertyList.hpp:46
Definition: H5_definitions.hpp:15
PropertyList< PropertyType::DATASET_ACCESS > DataSetAccessProps
Definition: H5PropertyList.hpp:80
PropertyList< PropertyType::DATASET_CREATE > DataSetCreateProps
Definition: H5PropertyList.hpp:79
LinkType
The possible types of group entries (link concept)
Definition: H5Node_traits.hpp:173
ObjectType
Enum of the types of objects (H5O api)
Definition: H5Object.hpp:25