You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.5 KiB
C
96 lines
3.5 KiB
C
3 weeks ago
|
// C++ informative line for the emacs editor: -*- C++ -*-
|
||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||
|
* Copyright by The HDF Group. *
|
||
|
* All rights reserved. *
|
||
|
* *
|
||
|
* This file is part of HDF5. The full HDF5 copyright notice, including *
|
||
|
* terms governing use, modification, and redistribution, is contained in *
|
||
|
* the COPYING file, which can be found at the root of the source code *
|
||
|
* distribution tree, or in https://www.hdfgroup.org/licenses. *
|
||
|
* If you do not have access to either file, you may request a copy from *
|
||
|
* help@hdfgroup.org. *
|
||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||
|
|
||
|
#ifndef H5CommonFG_H
|
||
|
#define H5CommonFG_H
|
||
|
|
||
|
namespace H5 {
|
||
|
|
||
|
// Class forwarding
|
||
|
class Group;
|
||
|
class H5File;
|
||
|
class ArrayType;
|
||
|
class VarLenType;
|
||
|
|
||
|
/*! \class CommonFG
|
||
|
\brief \a CommonFG is an abstract base class of H5Group.
|
||
|
*/
|
||
|
/* Note: This class is being deprecated gradually. */
|
||
|
class H5_DLLCPP CommonFG {
|
||
|
public:
|
||
|
// Opens a generic named datatype in this location.
|
||
|
DataType openDataType(const char *name) const;
|
||
|
DataType openDataType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named array datatype in this location.
|
||
|
ArrayType openArrayType(const char *name) const;
|
||
|
ArrayType openArrayType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named compound datatype in this location.
|
||
|
CompType openCompType(const char *name) const;
|
||
|
CompType openCompType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named enumeration datatype in this location.
|
||
|
EnumType openEnumType(const char *name) const;
|
||
|
EnumType openEnumType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named integer datatype in this location.
|
||
|
IntType openIntType(const char *name) const;
|
||
|
IntType openIntType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named floating-point datatype in this location.
|
||
|
FloatType openFloatType(const char *name) const;
|
||
|
FloatType openFloatType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named string datatype in this location.
|
||
|
StrType openStrType(const char *name) const;
|
||
|
StrType openStrType(const H5std_string &name) const;
|
||
|
|
||
|
// Opens a named variable length datatype in this location.
|
||
|
VarLenType openVarLenType(const char *name) const;
|
||
|
VarLenType openVarLenType(const H5std_string &name) const;
|
||
|
|
||
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||
|
/// For subclasses, H5File and Group, to return the correct
|
||
|
/// object id, i.e. file or group id.
|
||
|
virtual hid_t getLocId() const = 0;
|
||
|
|
||
|
/// For subclasses, H5File and Group, to throw appropriate exception.
|
||
|
virtual void throwException(const H5std_string &func_name, const H5std_string &msg) const = 0;
|
||
|
|
||
|
// Default constructor.
|
||
|
CommonFG();
|
||
|
|
||
|
// Noop destructor.
|
||
|
virtual ~CommonFG();
|
||
|
|
||
|
protected:
|
||
|
virtual void p_setId(const hid_t new_id) = 0;
|
||
|
|
||
|
#endif // DOXYGEN_SHOULD_SKIP_THIS
|
||
|
|
||
|
}; // end of CommonFG
|
||
|
} // namespace H5
|
||
|
|
||
|
#endif // H5CommonFG_H
|
||
|
|
||
|
/***************************************************************************
|
||
|
Design Note
|
||
|
===========
|
||
|
|
||
|
September 2017:
|
||
|
|
||
|
This class used to be base class of H5File as well, until the
|
||
|
restructure that moved H5File to be subclass of H5Group.
|
||
|
*/
|