1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
#include <string>
#include "ncType.h"
#include "netcdf.h"
#ifndef NcOpaqueTypeClass
#define NcOpaqueTypeClass
namespace netCDF
{
class NcGroup; // forward declaration.
/*! Class represents a netCDF opaque type */
class NcOpaqueType : public NcType
{
public:
/*! Constructor generates a \ref isNull "null object". */
NcOpaqueType();
/*!
Constructor.
The opaque Type must already exist in the netCDF file. New netCDF opaque types #
can be added using NcGroup::addNcOpaqueType();
\param grp The parent group where this type is defined.
\param name Name of new type.
*/
NcOpaqueType(const NcGroup& grp, const std::string& name);
/*!
Constructor.
Constructs from the base type NcType object. Will throw an exception if the NcType is not the base of a Opaque type.
\param ncType A Nctype object.
*/
NcOpaqueType(const NcType& ncType);
/*! assignment operator */
NcOpaqueType& operator=(const NcOpaqueType& rhs);
/*!
Assignment operator.
This assigns from the base type NcType object. Will throw an exception if the NcType is not the base of an Opaque type.
*/
NcOpaqueType& operator=(const NcType& rhs);
/*! The copy constructor.*/
NcOpaqueType(const NcOpaqueType& rhs);
/*! destructor */
~NcOpaqueType(){;}
/*! Returns the size of the opaque type in bytes. */
size_t getTypeSize() const;
};
}
#endif
|