This document describes the netCDF C++ API. It applies to netCDF version 4.1.3 release of the software, but the C++ interface still only supports the “classic” data model from the netCDF-3 release. This document was last updated in 30 June 2011.
The netCDF library provides an application- and machine-independent interface to self-describing, array-oriented data. It supports an abstract view of such data as a collection of named variables and their attributes, and provides high-level access to data that is faithful to the abstraction. This on-line document describes the C++ interface to netCDF. This C++ interface is still based on the classic data model supported by netCDF-3 software; it has not yet been updated to the enhanced data model supported by netCDF-4.
The first part of this master menu lists the major nodes in this Info document. The rest of the menu lists all the lower level nodes in the document.
For a complete description of the netCDF format and utilities see Top.
--- The Detailed Node Listing ---
Introduction
NetCDF Classes
Auxiliary Classes
The main requirements for the design of the C++ interface are:
void*
pointers; and
Some of the features of the C++ interface are:
void*
: values are type-checked.
ncredef
or ncendef
calls are needed for
switching between define and data modes. Whenever a mode switch is
required, it happens implicitly.
The header file netcdfcpp.h must be included in source code files using this interface.
This release provides some of the functionality of netCDF version 4, but not for the enhanced data model introduced with netCDF-4.
This manual assumes familiarity with the netCDF User's Guide, where the concepts of netCDF dimensions, variables, and attributes are discussed.
The class for netCDF file objects is NcFile
.
The components of a netCDF file are dimensions, variables, and
attributes. There is a class for each of these kinds of objects;
NcDim
, NcVar
, and NcAtt
. Variables and attributes
share some common characteristics that are factored out in the
abstract base class NcTypedComponent
.
An auxiliary class, NcValues
, provides a type for arrays of values
that are read from or written to netCDF files. Another auxiliary class,
NcError
, provides facilities for handling errors.
NcFile
netCDF fileNcDim
dimensionNcTypedComponent
abstract base classNcVar
variableNcAtt
attributeNcValues
abstract base class for arrayNcValues_ncbyte
array of bytesNcValues_char
array of charactersNcValues_short
array of shortsNcValues_int
array of intsNcValues_long
array of longsNcValues_float
array of floatsNcValues_double
array of doublesNcError
for error handling
The netCDF classes use several auxiliary types for arguments and return
types from member functions: NcToken
, NcType
,
NcBool
, and ncbyte
.
NcToken
const char*
.
NcType
ncByte
,
ncChar
, ncShort
, ncInt
, ncLong
(deprecated),
ncFloat
, and ncDouble
.
NcBool
unsigned int
. It will be changed to
bool
when all C++ compilers support the new bool
type.
ncbyte
ncByte
, for 8-bit integer data.
(This is currently a typedef for unsigned char
, but it may be
changed to a typedef for signed char
, so don't depend on the
underlying representation.)
NcFile
is the class for netCDF files,
providing methods for netCDF file operations.
Some member functions return pointers to dimensions (NcDim
) or
variables (NcVar
). These objects are owned by the NcFile
they are associated with, and will be deleted automatically by the
NcFile
destructor (or by the close
member function, if
this is called earlier than the destructor), so users should not delete
these. Member functions that return pointers to attributes
(NcAtt
) pass ownership to the calling function; users
should delete attributes when they are finished with them.
Member functions that return NcBool
yield TRUE
on success
and FALSE
on failure. Member functions that return a pointer
value return a NULL
pointer on failure.
This class interface hides the distinction in the C and Fortran interfaces between define mode (when dimensions, variables, or attributes are being defined or renamed), and data mode (when data values are being accessed), by automatically switching between the modes when necessary. Be aware that switching from accessing data to adding or renaming dimensions, variables and attributes can be expensive, since it may entail a copy of the data.
NcFile( const char * path, FileMode = ReadOnly, size_t *chunksizeptr = NULL, size_t initialsize = 0, FileFormat = Classic)
The FileMode
argument can be any of ReadOnly
(the
default) to open an existing file for reading, Write
to open an
existing file for reading or writing, Replace
to create a new
empty file even if the named file already exists, or
New
to create a new file only if the named file does not already
exist.
The optional FileFormat
argument can be any of Classic
(the default), Offset64Bits
, Netcdf4
, or
Netcdf4Classic
.
The optional chunksizeptr
and initialsize
tuning
parameters are as described in the corresponding nc__create()
function in the C interface.
The constructor will not fail, but in the case of a bad path name,
improper permissions, or if the file already exists and you have
specified FileMode
as New
, no netCDF file will be created
or opened. If the constructor fails to create or open a netCDF file, a
subsequent call to the is_valid()
member function will return
False
.
~NcFile( void )
NcVar
and NcDim
objects. If you wish to close the file earlier, you may explicitly call
the close
member function; a subsequent destructor call will work
properly.
NcBool close( void )
NcFile
destructor.
NcBool is_valid( void ) const
TRUE
if valid netCDF file, FALSE
otherwise (e.g.
if constructor could not open file).
int num_dims( void ) const
int num_vars( void ) const
int num_atts( void ) const
NcDim* get_dim(NcToken name) const
NcVar* get_var(NcToken name) const
NcAtt* get_att(NcToken name) const
NcDim* get_dim(int n) const
NcVar* get_var(int n) const
NcAtt* get_att(int n) const
NcDim* rec_dim( void ) const
The following add_
member functions put the file in define
mode, so could be expensive. To avoid copying of data, invoke
these before writing data to variables.
NcDim* add_dim(NcToken dimname)
dimname
to the netCDF file.
NcDim* add_dim(NcToken dimname, long dimsize)
dimname
of size dimsize
.
NcVar* add_var(NcToken varname, NcType type, const NcDim*, ...)
varname
of the specified type
(ncByte
, ncChar
, ncShort
, ncInt
,
ncFloat
, ncDouble
) to the open netCDF file. The variable
is defined with a shape that depends on how many
dimension arguments are provided. A scalar variable would have 0
dimensions, a vector would have 1 dimension, and so on. Supply as many
dimensions as needed, up to 5. If more than 5 dimensions are required,
use the n-dimensional version of this member function instead.
NcVar* add_var(NcToken varname, NcType type, int ndims, const NcDim** dims)
varname
of ndims
dimensions and of
the specified type. This method must be used when dealing with
variables of more than 5 dimensions.
NcBool add_att(NcToken name, ncbyte val)
NcBool add_att(NcToken name, char val)
NcBool add_att(NcToken name, short val)
NcBool add_att(NcToken name, int val)
NcBool add_att(NcToken name, float val)
NcBool add_att(NcToken name, double val)
NcBool add_att(NcToken name, const char* val)
\0
character).
NcBool add_att(NcToken name, int n, const ncbyte* val)
NcBool add_att(NcToken name, int n, const char* val)
NcBool add_att(NcToken name, int n, const short* val)
NcBool add_att(NcToken name, int n, const int* val)
NcBool add_att(NcToken name, int n, const float* val)
NcBool add_att(NcToken name, int n, const double* val)
NcBool set_fill(FillMode mode = Fill)
NcFile::Fill
or NcFile::NoFill
.
Default is Fill
, in which case unwritten values are pre-written
with appropriate type-specific or variable-specific fill values.
enum NcFile::FillMode get_fill( void ) const
NcFile::Fill
or
NcFile::NoFill
.
enum NcFile::FileFormat get_format( void ) const
NcFile::Classic
,
NcFile:Offset64Bits
, NcFile:Netcdf4
, or
NcFile::Netcdf4Classic
.
NcBool sync( void )
NcBool abort( void )
A netCDF dimension has a name and a size. Dimensions are only created and destroyed by NcFile member functions, because they cannot exist independently of an open netCDF file. Hence there are no public constructors or destructors.
NcToken name( void ) const
long size( void ) const
NcBool is_valid( void ) const
TRUE
if file and dimension are both valid, FALSE
otherwise.
NcBool is_unlimited( void ) const
TRUE
if the dimension is the unlimited dimension,
FALSE
if either not a valid netCDF file, or if the dimension is
not the unlimited dimension.
NcBool rename( NcToken newname )
newname
.
NcBool sync( void )
NcTypedComponent
is an abstract base class for NcVar
and
NcAtt
that captures the similarities between netCDF variables and
attributes. We list here the member functions that variables and
attributes inherit from NcTypedComponent
, but these member
functions are also documented under the NcVar
and NcAtt
classes for convenience.
NcToken name( void ) const
NcType type( void ) const
ncByte
, ncChar
, ncShort
, ncInt
,
ncFloat
, or ncDouble
.
NcBool is_valid( void ) const
TRUE
if the component is valid, FALSE
otherwise.
long num_vals( void ) const
NcBool rename( NcToken newname )
NcValues* values( void ) const
values
method. Note that this is not a good way to read
selected values of a variable; use the get
member function
instead, to get single values or selected cross-sections of values.
ncbyte as_ncbyte( int n ) const
char as_char( int n ) const
short as_short( int n ) const
int as_int( int n ) const
nclong as_nclong( int n ) const // deprecated
long as_long( int n ) const
float as_float( int n ) const
double as_double( int n ) const
char* as_string( int n ) const
NcVar
is derived from NcTypedComponent, and represents a netCDF
variable. A netCDF variable has a name, a type, a shape, zero or more
attributes, and a block of values associated with it. Because variables
are only associated with open netCDF files, there are no public
constructors for this class. Use member functions of NcFile
to
get variables or add new variables.
NcToken name( void ) const
NcType type( void ) const
ncByte
, ncChar
, ncShort
, ncInt
,
ncFloat
, or ncDouble
.
int num_dims( void ) const
NcDim* get_dim( int n ) const
long* edges( void ) const
int num_atts( void ) const
NcAtt* get_att( NcToken attname ) const
NcAtt* get_att( int n ) const
NcBool is_valid( void ) const
TRUE
if the variable is valid, FALSE
otherwise.
long num_vals( void ) const
NcValues* values( void ) const
get
member function instead, to get single
values or selected cross-sections of values.
NcBool put(const ncbyte* vals, long c0, long c1, long c2, long c3, long c4)
NcBool put(const char* vals, long c0, long c1, long c2, long c3, long c4)
NcBool put(const short* vals, long c0, long c1, long c2, long c3, long c4)
NcBool put(const int* vals, long c0, long c1, long c2, long c3, long c4)
NcBool put(const long* vals, long c0, long c1, long c2, long c3, long c4)
NcBool put(const float* vals, long c0, long c1, long c2, long c3, long c4)
NcBool put(const double* vals, long c0, long c1, long c2, long c3, long c4)
vals
argument points to a contiguous block of values in
memory to be written. This means if you allocate each row of an
array with a “new” call for example, you must not write more than one row
at a time, because the rows may not be contiguous in memory.
Other arguments are edge lengths, and their number must not exceed variable's
dimensionality. Start corner is [0,0,..., 0]
by default, but may
be reset using the set_cur()
member function for this variable.
FALSE
is returned if type of values does not match type for
variable. For more than 5 dimensions, use the overloaded n-dimensional
form of the put
member function.
NcBool put(const ncbyte* vals, const long* counts)
NcBool put(const char* vals, const long* counts)
NcBool put(const short* vals, const long* counts)
NcBool put(const int* vals, const long* counts)
NcBool put(const long* vals, const long* counts)
NcBool put(const float* vals, const long* counts)
NcBool put(const double* vals, const long* counts)
[0, 0, ..., 0]
by
default, may be reset with set_cur()
. FALSE
is returned
if type of values does not match type for variable.
The vals
argument points to a contiguous block of values in
memory to be written. This means if you allocate each row of an
array with a “new” call for example, you must not write more than one row
at a time, because the rows may not be contiguous in memory.
NcBool get(ncbyte* vals, long c0, long c1, long c2, long c3, long c4) const
NcBool get(char* vals, long c0, long c1, long c2, long c3, long c4) const
NcBool get(short* vals, long c0, long c1, long c2, long c3, long c4) const
NcBool get(int* vals, long c0, long c1, long c2, long c3, long c4) const
NcBool get(long* vals, long c0, long c1, long c2, long c3, long c4) const
NcBool get(float* vals, long c0, long c1, long c2, long c3, long c4) const
NcBool get(double* vals, long c0, long c1, long c2, long c3, long c4) const
vals
argument points to a contiguous block of values in
memory into which values will be read. This means if you allocate each row of an
array with a “new” call for example, you must not read more than one row
at a time, because the rows may not be contiguous in memory.
Other arguments are edge lengths, and their number must not exceed variable's
dimensionality. Start corner is [0,0,..., 0]
by default, but may
be reset using the set_cur()
member function. FALSE
is
returned if type of values does not match type for variable.
NcBool get(ncbyte* vals, const long* counts) const
NcBool get(char* vals, const long* counts) const
NcBool get(short* vals, const long* counts) const
NcBool get(int* vals, const long* counts) const
NcBool get(long* vals, const long* counts) const
NcBool get(float* vals, const long* counts) const
NcBool get(double* vals, const long* counts) const
[0, 0, ..., 0]
by default,
may be reset with set_cur()
member function. FALSE
is
returned if type of values does not match type for variable.
Get scalar or 1 to 5 dimensional arrays by providing enough arguments.
The vals
argument points to a contiguous block of values in
memory into which values will be read. This means if you allocate each row of an
array with a “new” call for example, you must not read more than one row
at a time, because the rows may not be contiguous in memory.
NcBool set_cur(long c0=-1, long c1=-1, long c2=-1, long c3=-1, long c4=-1)
NcBool set_cur(long* cur)
NcBool add_att( NcToken, char )
NcBool add_att( NcToken, ncbyte )
NcBool add_att( NcToken, short )
NcBool add_att( NcToken, int )
NcBool add_att( NcToken, long )
NcBool add_att( NcToken, float )
NcBool add_att( NcToken, double )
NcBool add_att( NcToken, const char* )
NcBool add_att( NcToken, int, const char* )
NcBool add_att( NcToken, int, const ncbyte* )
NcBool add_att( NcToken, int, const short* )
NcBool add_att( NcToken, int, const int* )
NcBool add_att( NcToken, int, const long* )
NcBool add_att( NcToken, int, const float* )
NcBool add_att( NcToken, int, const double* )
NcBool rename( NcToken newname )
ncbyte as_ncbyte( int n ) const
char as_char( int n ) const
short as_short( int n ) const
int as_int( int n ) const
nclong as_nclong( int n ) const // deprecated
long as_long( int n ) const
float as_float( int n ) const
double as_double( int n ) const
char* as_string( int n ) const
int id( void ) const
NcBool sync( void )
~NcVar( void )
The following member functions are intended for record variables. They will also work for non-record variables, if the first dimension is interpreted as the record dimension.
long rec_size( void )
long rec_size( NcDim* )
NcValues* get_rec( void )
NcValues* get_rec( long n )
NcValues* get_rec( NcDim* )
NcValues* get_rec( NcDim*, long n )
NcBool put_rec( const ncbyte* vals )
NcBool put_rec( const char* vals )
NcBool put_rec( const short* vals )
NcBool put_rec( const int* vals )
NcBool put_rec( const long* vals )
NcBool put_rec( const float* vals )
NcBool put_rec( const double* vals )
NcBool put_rec( NcDim*, const ncbyte* vals )
NcBool put_rec( NcDim*, const char* vals )
NcBool put_rec( NcDim*, const short* vals )
NcBool put_rec( NcDim*, const int* vals )
NcBool put_rec( NcDim*, const long* vals )
NcBool put_rec( NcDim*, const float* vals )
NcBool put_rec( NcDim*, const double* vals )
NcBool put_rec( const ncbyte* vals, long rec )
NcBool put_rec( const char* vals, long rec )
NcBool put_rec( const short* vals, long rec )
NcBool put_rec( const int* vals, long rec )
NcBool put_rec( const long* vals, long rec )
NcBool put_rec( const float* vals, long rec )
NcBool put_rec( const double* vals, long rec )
NcBool put_rec( NcDim*, const ncbyte* vals, long slice )
NcBool put_rec( NcDim*, const char* vals, long slice )
NcBool put_rec( NcDim*, const short* vals, long slice )
NcBool put_rec( NcDim*, const int* vals, long slice )
NcBool put_rec( NcDim*, const long* vals, long slice )
NcBool put_rec( NcDim*, const float* vals, long slice )
NcBool put_rec( NcDim*, const double* vals, long slice )
long get_index( const ncbyte* vals )
long get_index( const char* vals )
long get_index( const short* vals )
long get_index( const int* vals )
long get_index( const long* vals )
long get_index( const float* vals )
long get_index( const double* vals )
long get_index( NcDim*, const ncbyte* vals )
long get_index( NcDim*, const char* vals )
long get_index( NcDim*, const short* vals )
long get_index( NcDim*, const int* vals )
long get_index( NcDim*, const long* vals )
long get_index( NcDim*, const float* vals )
long get_index( NcDim*, const double* vals )
void set_rec ( long rec )
void set_rec ( NcDim*, long rec )
NcAtt
is derived from NcTypedComponent
, and represents a netCDF
attribute. A netCDF attribute has a name and a type, and may be either
a scalar attribute or a vector attribute. Scalar attributes have one
value and vector attributes have multiple values. In addition, each
attribute is attached to a specific netCDF variable or is global to an
entire netCDF file. Because attributes are only associated with open
netCDF files, there are no public constructors for this class. Use
member functions of NcFile
and NcVar
to get netCDF
attributes or add new attributes. Most of the useful member functions
for NcAtt
are
inherited from class NcTypedComponent
.
NcToken name( void ) const
NcType type( void ) const
ncByte
, ncChar
, ncShort
, ncInt
,
ncFloat
, or ncDouble
.
NcBool is_valid( void ) const
TRUE
if the attribute is valid, FALSE
otherwise.
long num_vals( void ) const
NcBool rename( NcToken newname )
NcValues* values( void ) const
ncbyte as_ncbyte( int n ) const
char as_char( int n ) const
short as_short( int n ) const
int as_int( int n ) const
nclong as_nclong( int n ) const // deprecated
long as_long( int n ) const
float as_float( int n ) const
double as_double( int n ) const
char* as_string( int n ) const
NcBool remove( void )
is_valid()
will
return FALSE
.
~NcAtt( void )
Auxiliary classes include the abstract base class NcValues
, its
type-specific derived subclasses, and the error-handling class
NcError
.
Class NcValues
is an abstract base class for a block of typed
values. The derived classes are NcValues_ncbyte
,
NcValues_char
, NcValues_short
, NcValues_int
,
NcValues_nclong
(deprecated), and NcValues_long
,
NcValues_float
, NcValues_double
.
These classes are used as the return type of the
NcTypedComponent::values()
member function, for typed-value
arrays associated with variables and attributes.
NcValues( void )
NcValues(NcType, long)
~NcValues( void )
long num( void )
ostream& print(ostream&) const
void* base( void ) const
int bytes_for_one( void ) const
ncbyte as_ncbyte( int n ) const
char as_char( int n ) const
short as_short( int n ) const
int as_int( int n ) const
nclong as_nclong( int n ) const // deprecated
long as_long( int n ) const
float as_float( int n ) const
double as_double( int n ) const
char* as_string( int n ) const
This class provides control for netCDF error handling. Declaring an
NcError
object temporarily changes the error-handling behavior
for all netCDF classes until the NcError
object is destroyed
(typically by going out of scope), at which time the previous
error-handling behavior is restored.
NcError( Behavior b = verbose_fatal )
NcError::silent_nonfatal
,
NcError::verbose_nonfatal
, NcError::silent_fatal
, or
NcError::verbose_fatal
, to control whether error messages are
output from the underlying library and whether such messages are fatal
or nonfatal.
~NcError( void )
int get_err( void )
abort
: Class NcFileadd_att
: Class NcVaradd_att
: Class NcFileadd_dim
: Class NcFileadd_var
: Class NcFileas_char
: Class NcValuesas_char
: Class NcAttas_char
: Class NcVaras_char
: Class NcTypedComponentas_double
: Class NcValuesas_double
: Class NcAttas_double
: Class NcVaras_double
: Class NcTypedComponentas_float
: Class NcValuesas_float
: Class NcAttas_float
: Class NcVaras_float
: Class NcTypedComponentas_int
: Class NcValuesas_int
: Class NcAttas_int
: Class NcVaras_int
: Class NcTypedComponentas_long
: Class NcValuesas_long
: Class NcAttas_long
: Class NcVaras_long
: Class NcTypedComponentas_ncbyte
: Class NcValuesas_ncbyte
: Class NcAttas_ncbyte
: Class NcVaras_ncbyte
: Class NcTypedComponentas_nclong
: Class NcValuesas_nclong
: Class NcAttas_nclong
: Class NcVaras_nclong
: Class NcTypedComponentas_short
: Class NcValuesas_short
: Class NcAttas_short
: Class NcVaras_short
: Class NcTypedComponentas_string
: Class NcValuesas_string
: Class NcAttas_string
: Class NcVaras_string
: Class NcTypedComponentbase
: Class NcValuesbytes_for_one
: Class NcValuesclose
: Class NcFileedges
: Class NcVarget
: Class NcVarget_att
: Class NcVarget_att
: Class NcFileget_dim
: Class NcVarget_dim
: Class NcFileget_err
: Class NcErrorget_fill
: Class NcFileget_format
: Class NcFileget_index
: Class NcVarget_rec
: Class NcVarget_var
: Class NcFileid
: Class NcVaris_unlimited
: Class NcDimis_valid
: Class NcAttis_valid
: Class NcVaris_valid
: Class NcTypedComponentis_valid
: Class NcDimis_valid
: Class NcFilename
: Class NcAttname
: Class NcVarname
: Class NcTypedComponentname
: Class NcDimNcAtt
: Class NcVarNcAtt::remove
: Class NcAttNcAtt::~NcAtt
: Class NcAttNcBool
: Auxiliary Types and Constantsncbyte
: Auxiliary Types and ConstantsNcDim
: Class NcFileNcDim::is_unlimited
: Class NcDimNcDim::is_valid
: Class NcDimNcDim::name
: Class NcDimNcDim::rename
: Class NcDimNcDim::size
: Class NcDimNcDim::sync
: Class NcDimNcError
: Class NcErrorNcError
: Class NcValuesNcError::get_err
: Class NcErrorNcError::~NcError
: Class NcErrorNcFile
: Class NcFileNcFile
: NetCDF ClassesNcFile::abort
: Class NcFileNcFile::add_att
: Class NcFileNcFile::add_dim
: Class NcFileNcFile::add_var
: Class NcFileNcFile::close
: Class NcFileNcFile::get_att
: Class NcFileNcFile::get_dim
: Class NcFileNcFile::get_fill
: Class NcFileNcFile::get_format
: Class NcFileNcFile::get_var
: Class NcFileNcFile::is_valid
: Class NcFileNcFile::NcFile
: Class NcFileNcFile::num_atts
: Class NcFileNcFile::num_dims
: Class NcFileNcFile::num_vars
: Class NcFileNcFile::rec_dim
: Class NcFileNcFile::set_fill
: Class NcFileNcFile::sync
: Class NcFileNcFile::~NcFile
: Class NcFileNcToken
: Auxiliary Types and ConstantsNcType
: Auxiliary Types and ConstantsNcTypedComponent
: Class NcDimNcTypedComponent::as_char
: Class NcAttNcTypedComponent::as_char
: Class NcVarNcTypedComponent::as_char
: Class NcTypedComponentNcTypedComponent::as_double
: Class NcAttNcTypedComponent::as_double
: Class NcVarNcTypedComponent::as_double
: Class NcTypedComponentNcTypedComponent::as_float
: Class NcAttNcTypedComponent::as_float
: Class NcVarNcTypedComponent::as_float
: Class NcTypedComponentNcTypedComponent::as_int
: Class NcAttNcTypedComponent::as_int
: Class NcVarNcTypedComponent::as_int
: Class NcTypedComponentNcTypedComponent::as_long
: Class NcAttNcTypedComponent::as_long
: Class NcVarNcTypedComponent::as_long
: Class NcTypedComponentNcTypedComponent::as_ncbyte
: Class NcAttNcTypedComponent::as_ncbyte
: Class NcVarNcTypedComponent::as_ncbyte
: Class NcTypedComponentNcTypedComponent::as_nclong
: Class NcAttNcTypedComponent::as_nclong
: Class NcVarNcTypedComponent::as_nclong
: Class NcTypedComponentNcTypedComponent::as_short
: Class NcAttNcTypedComponent::as_short
: Class NcVarNcTypedComponent::as_short
: Class NcTypedComponentNcTypedComponent::as_string
: Class NcAttNcTypedComponent::as_string
: Class NcVarNcTypedComponent::as_string
: Class NcTypedComponentNcTypedComponent::is_valid
: Class NcAttNcTypedComponent::is_valid
: Class NcVarNcTypedComponent::is_valid
: Class NcTypedComponentNcTypedComponent::name
: Class NcAttNcTypedComponent::name
: Class NcVarNcTypedComponent::name
: Class NcTypedComponentNcTypedComponent::num_vals
: Class NcAttNcTypedComponent::num_vals
: Class NcVarNcTypedComponent::num_vals
: Class NcTypedComponentNcTypedComponent::rename
: Class NcAttNcTypedComponent::rename
: Class NcVarNcTypedComponent::rename
: Class NcTypedComponentNcTypedComponent::type
: Class NcAttNcTypedComponent::type
: Class NcVarNcTypedComponent::type
: Class NcTypedComponentNcTypedComponent::values
: Class NcAttNcTypedComponent::values
: Class NcVarNcTypedComponent::values
: Class NcTypedComponentNcValues
: Class NcValuesNcValues
: Auxiliary ClassesNcValues::as_char
: Class NcValuesNcValues::as_double
: Class NcValuesNcValues::as_float
: Class NcValuesNcValues::as_int
: Class NcValuesNcValues::as_long
: Class NcValuesNcValues::as_ncbyte
: Class NcValuesNcValues::as_nclong
: Class NcValuesNcValues::as_short
: Class NcValuesNcValues::as_string
: Class NcValuesNcValues::base
: Class NcValuesNcValues::bytes_for_one
: Class NcValuesNcValues::NcValues
: Class NcValuesNcValues::num
: Class NcValuesNcValues::print
: Class NcValuesNcValues::~NcValues
: Class NcValuesNcValues_char
: Class NcValuesNcValues_double
: Class NcValuesNcValues_float
: Class NcValuesNcValues_int
: Class NcValuesNcValues_long
: Class NcValuesNcValues_ncbyte
: Class NcValuesNcValues_nclong
: Class NcValuesNcValues_short
: Class NcValuesNcVar
: Class NcTypedComponentNcVar::add_att
: Class NcVarNcVar::edges
: Class NcVarNcVar::get
: Class NcVarNcVar::get_att
: Class NcVarNcVar::get_dim
: Class NcVarNcVar::get_index
: Class NcVarNcVar::get_rec
: Class NcVarNcVar::id
: Class NcVarNcVar::num_atts
: Class NcVarNcVar::num_dims
: Class NcVarNcVar::put
: Class NcVarNcVar::put_rec
: Class NcVarNcVar::rec_size
: Class NcVarNcVar::set_cur
: Class NcVarNcVar::set_rec
: Class NcVarNcVar::sync
: Class NcVarNcVar::~NcVar
: Class NcVarnum
: Class NcValuesnum_atts
: Class NcVarnum_atts
: Class NcFilenum_dims
: Class NcVarnum_dims
: Class NcFilenum_vals
: Class NcAttnum_vals
: Class NcVarnum_vals
: Class NcTypedComponentnum_vars
: Class NcFileprint
: Class NcValuesput
: Class NcVarput_rec
: Class NcVarrec_dim
: Class NcFilerec_size
: Class NcVarremove
: Class NcAttrename
: Class NcAttrename
: Class NcVarrename
: Class NcTypedComponentrename
: Class NcDimset_cur
: Class NcVarset_fill
: Class NcFileset_rec
: Class NcVarsize
: Class NcDimsync
: Class NcVarsync
: Class NcDimsync
: Class NcFiletype
: Class NcAtttype
: Class NcVartype
: Class NcTypedComponentvalues
: Class NcAttvalues
: Class NcVarvalues
: Class NcTypedComponent~NcAtt
: Class NcAtt~NcError
: Class NcError~NcFile
: Class NcFile~NcValues
: Class NcValues~NcVar
: Class NcVar