NetCDF-C++ 4.3.2
Loading...
Searching...
No Matches
netCDF::NcType Class Reference

Base class inherited by NcOpaque, NcVlen, NcCompound and NcEnum classes. More...

#include "ncType.h"

Inheritance diagram for netCDF::NcType:

Public Types

enum  ncType {
  nc_BYTE = NC_BYTE , nc_CHAR = NC_CHAR , nc_SHORT = NC_SHORT , nc_INT = NC_INT ,
  nc_FLOAT = NC_FLOAT , nc_DOUBLE = NC_DOUBLE , nc_UBYTE = NC_UBYTE , nc_USHORT = NC_USHORT ,
  nc_UINT = NC_UINT , nc_INT64 = NC_INT64 , nc_UINT64 = NC_UINT64 , nc_STRING = NC_STRING ,
  nc_VLEN = NC_VLEN , nc_OPAQUE = NC_OPAQUE , nc_ENUM = NC_ENUM , nc_COMPOUND = NC_COMPOUND
}
 List of netCDF types that can be represented. More...

Public Member Functions

 NcType ()
 Constructor generates a null object.
 NcType (const NcType &rhs)
 The copy constructor.
 NcType (const netCDF::NcGroup &grp, const std::string &name)
 Constructor for a non-global type.
 NcType (const netCDF::NcGroup &grp, nc_type id)
 Constructor for a non-global type.
 NcType (nc_type id)
 Constructor for a global type This object describes the "essential" information for a netCDF global type.
virtual ~NcType ()
 destructor
nc_type getId () const
 The netCDF Id of this type.
std::string getName () const
 The name of this type.
netCDF::NcGroup getParentGroup () const
 Gets parent group.
size_t getSize () const
 The size in bytes.
ncType getTypeClass () const
 The type class returned as enumeration type.
std::string getTypeClassName () const
 Return a string containing the name of the enumerated type.
bool isNonPrimitive () const
 Return true if this is not a primitive type.
bool isNull () const
 Returns true if this object is null (i.e.
bool operator!= (const NcType &) const
 != operator
bool operator== (const NcType &) const
 equivalence operator

Protected Member Functions

NcType & operator= (const NcType &rhs)
 assignment operator

Protected Attributes

int g_fileId
 An ncid associated with a particular open file (returned from nc_open).
int groupId
 the group Id
nc_type myId
 the type Id
bool nullObject

Friends

bool operator< (const NcType &lhs, const NcType &rhs)
 comparator operator
bool operator> (const NcType &lhs, const NcType &rhs)
 comparator operator

Detailed Description

Base class inherited by NcOpaque, NcVlen, NcCompound and NcEnum classes.

Definition at line 14 of file ncType.h.

Member Enumeration Documentation

◆ ncType

List of netCDF types that can be represented.

The enumeration list contains the complete set of netCDF variable types. In addition, the type NC_TYPE is included. This enables the user to instantiate a netCDF type object without explcitly needing to know it precise type.

Enumerator
nc_BYTE 

signed 1 byte integer

nc_CHAR 

ISO/ASCII character.

nc_SHORT 

signed 2 byte integer

nc_INT 

signed 4 byte integer

nc_FLOAT 

single precision floating point number

nc_DOUBLE 

double precision floating point number

nc_UBYTE 

unsigned 1 byte int

nc_USHORT 

unsigned 2-byte int

nc_UINT 

unsigned 4-byte int

nc_INT64 

signed 8-byte int

nc_UINT64 

unsigned 8-byte int

nc_STRING 

string

nc_VLEN 

"NcVlen type"

nc_OPAQUE 

"NcOpaque type"

nc_ENUM 

"NcEnum type"

nc_COMPOUND 

"NcCompound type"

Definition at line 25 of file ncType.h.

Constructor & Destructor Documentation

◆ NcType() [1/5]

NcType::NcType ( )

Constructor generates a null object.

Definition at line 43 of file ncType.cpp.

◆ NcType() [2/5]

netCDF::NcType::NcType ( const netCDF::NcGroup & grp,
const std::string & name )

Constructor for a non-global type.

This object describes the "essential" information for all netCDF types required by NcVar, NcAtt objects. New netCDF types can be added using the appropriate "add" method in the NcGroup object.

Parameters
grpParent NcGroup object.
nameName of this type.

◆ NcType() [3/5]

NcType::NcType ( const netCDF::NcGroup & grp,
nc_type id )

Constructor for a non-global type.

This object describes the "essential" information for all netCDF types required by NcVar, NcAtt objects. New netCDF types can be added using the appropriate "add" method in the NcGroup object.

Parameters
grpParent NcGroup object.
idtype id

Definition at line 65 of file ncType.cpp.

◆ NcType() [4/5]

NcType::NcType ( nc_type id)

Constructor for a global type This object describes the "essential" information for a netCDF global type.

Parameters
idtype id

Definition at line 57 of file ncType.cpp.

◆ NcType() [5/5]

NcType::NcType ( const NcType & rhs)

The copy constructor.

Definition at line 35 of file ncType.cpp.

◆ ~NcType()

virtual netCDF::NcType::~NcType ( )
inlinevirtual

destructor

Definition at line 78 of file ncType.h.

Member Function Documentation

◆ getId()

nc_type netCDF::NcType::getId ( ) const
inline

The netCDF Id of this type.

Definition at line 88 of file ncType.h.

◆ getName()

string NcType::getName ( ) const

The name of this type.

For atomic types, the CDL type names are returned. These are as follows:

  • NcByte String returned is "byte".
  • NcUbyte String returned is "ubyte".
  • NcChar String returned is "char".
  • NcShort String returned is "short".
  • NcUshort String returned is "ushort".
  • NcInt String returned is "int".
  • NcUint String returned is "uint".
  • NcInt64 String returned is "int64".
  • NcUint64 String returned is "uint64".
  • NcFloat String returned is "float".
  • NcDouble String returned is "double".
  • NcString String returned is "string".

Definition at line 93 of file ncType.cpp.

◆ getParentGroup()

NcGroup NcType::getParentGroup ( ) const

Gets parent group.

For an atomic type, returns a Null object.

Definition at line 88 of file ncType.cpp.

◆ getSize()

size_t NcType::getSize ( ) const

The size in bytes.

This function will work on any type, including atomic and any user defined type, whether compound, opaque, enumeration, or variable length array.

Definition at line 103 of file ncType.cpp.

◆ getTypeClass()

NcType::ncType NcType::getTypeClass ( ) const

The type class returned as enumeration type.

Valid for all types, whether atomic or user-defined. User-defined types are returned as one of the following enumeration types: nc_VLEN, nc_OPAQUE, nc_ENUM, or nc_COMPOUND.

Definition at line 111 of file ncType.cpp.

◆ getTypeClassName()

string NcType::getTypeClassName ( ) const

Return a string containing the name of the enumerated type.

(ie one of the following strings: "nc_BYTE", "nc_CHAR", "nc_SHORT", "nc_INT", "nc_FLOAT", "nc_DOUBLE", "nc_UBYTE", "nc_USHORT", "nc_UINT", "nc_INT64", "nc_UINT64", "nc_STRING", "nc_VLEN", "nc_OPAQUE", "nc_ENUM", "nc_COMPOUND"

Definition at line 139 of file ncType.cpp.

◆ isNonPrimitive()

bool NcType::isNonPrimitive ( ) const

Return true if this is not a primitive type.

Definition at line 163 of file ncType.cpp.

◆ isNull()

bool netCDF::NcType::isNull ( ) const
inline

Returns true if this object is null (i.e.

it has no contents); otherwise returns false.

Definition at line 136 of file ncType.h.

◆ operator!=()

bool NcType::operator!= ( const NcType & rhs) const

!= operator

Definition at line 82 of file ncType.cpp.

◆ operator=()

NcType & NcType::operator= ( const NcType & rhs)
protected

assignment operator

Definition at line 26 of file ncType.cpp.

◆ operator==()

bool NcType::operator== ( const NcType & rhs) const

equivalence operator

Definition at line 73 of file ncType.cpp.

◆ operator<

bool operator< ( const NcType & lhs,
const NcType & rhs )
friend

comparator operator

Definition at line 11 of file ncType.cpp.

◆ operator>

bool operator> ( const NcType & lhs,
const NcType & rhs )
friend

comparator operator

Definition at line 17 of file ncType.cpp.

Field Documentation

◆ g_fileId

int netCDF::NcType::g_fileId
protected

An ncid associated with a particular open file (returned from nc_open).

This is required by many of the functions ncType uses, such as nc_inq_type

Definition at line 161 of file ncType.h.

◆ groupId

int netCDF::NcType::groupId
protected

the group Id

Definition at line 155 of file ncType.h.

◆ myId

nc_type netCDF::NcType::myId
protected

the type Id

Definition at line 152 of file ncType.h.

◆ nullObject

bool netCDF::NcType::nullObject
protected

Definition at line 149 of file ncType.h.


The documentation for this class was generated from the following files:

Return to the Main Unidata NetCDF page.
Generated on for NetCDF-C++. NetCDF is a Unidata library.