Files
hdf5/c++/src/H5AbstractDs.h
T
Binh-Minh Ribler 855aa23823 [svn-r4977]
Purpose:
    Adding support for dll
Description:
    Added __DLLCPP__ to all public classes and templates.
    Added #include "H5Include.h" to H5RefCounter.cpp because of the
          use of DLLCPP in .h file and it needs the following chain:
                H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
    Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
        this warning on private data members of type 'string.'  This
        occurs because 'string' is not yet instantiated at compilation
        time; however, since the class is exported, the warning is
        harmless.
    Changed this member function's parameter to be passed as reference.
        from:
            void CompType::insertMember( const string name,...
        to:
            void CompType::insertMember( const string& name,...
Platforms tested:
    Linux 6.2 (eirene)
    Windows 2000
2002-02-15 19:49:46 -05:00

59 lines
1.8 KiB
C++

// C++ informative line for the emacs editor: -*- C++ -*-
// Class AbstractDs is an abstract base class, from which Attribute and
// DataSet inherit. It provides the services that are common to both
// Attribute and DataSet. It also inherits from H5Object and passes down
// the services that H5Object provides.
#ifndef _AbstractDs_H
#define _AbstractDs_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
class __DLLCPP__ AbstractDs : public H5Object {
public:
// Gets the dataspace of this abstract dataset - pure virtual
virtual DataSpace getSpace() const = 0;
// Gets the class of the datatype that is used by this abstract
// dataset
H5T_class_t getTypeClass() const;
// Gets a copy the datatype of that this abstract dataset uses.
// Note that this datatype is a generic one and can only be accessed
// via generic member functions, i.e., member functions belong
// to DataType. To get specific datatype, i.e. EnumType, FloatType,
// etc..., use the specific functions, that follow, instead .
DataType getDataType() const;
// Gets a copy of the specific datatype of this abstract dataset
EnumType getEnumType() const;
CompType getCompType() const;
IntType getIntType() const;
FloatType getFloatType() const;
StrType getStrType() const;
// Copy constructor
AbstractDs( const AbstractDs& original );
virtual ~AbstractDs();
protected:
// Default constructor
AbstractDs();
// Constructor that takes an attribute id or a dataset id.
AbstractDs( const hid_t ds_id );
private:
// This member function is implemented by DataSet and Attribute
virtual hid_t p_getType() const = 0;
// This member function is implemented by DataSet and Attribute
virtual void p_close() const = 0;
};
#ifndef H5_NO_NAMESPACE
}
#endif
#endif // _AbstractDs_H