26#ifndef FONcArrayStructureField_h_
27#define FONcArrayStructureField_h_ 1
34#include <libdap/Array.h>
35#include "FONcBaseType.h"
54 libdap::Array *d_a =
nullptr;
56 nc_type d_array_type = NC_NAT;
58 std::vector<FONcDim *> struct_dims;
62 size_t total_nelements = 1;
63 size_t field_nelements = 1;
64 size_t d_array_type_size;
67 std::vector<int> d_dim_ids{};
69 FONcDim * find_sdim(
const std::string &
name, int64_t size);
70 void obtain_scalar_data(
char *data_buf_ptr, libdap::BaseType* b)
const;
71 size_t obtain_maximum_string_length();
72 void handle_structure_string_field(libdap::BaseType *b);
73 void write_str(
int ncid);
79 void convert(
vector<string> embed,
bool _dap4=
true,
bool is_dap4_group=
false)
override;
80 void define(
int ncid)
override;
81 void write(
int ncid)
override;
83 std::string
name()
override;
84 nc_type
type()
override;
86 void dump(std::ostream &strm)
const override;
88 static std::vector<FONcDim *> SDimensions;
FONcArrayStructureField(libdap::BaseType *b, libdap::Array *a, bool is_netCDF4_enhanced)
Constructor for FONcArrayStructureField.
void dump(std::ostream &strm) const override
dumps information about this object for debugging purposes
std::string name() override
returns the name of the array structure field
nc_type type() override
returns the netcdf type of the DAP object
void write(int ncid) override
Write the netcdf variable data out to the netcdf file.
void define(int ncid) override
define the DAP array of structure field in the netcdf file
A class that represents the dimension of an array.
A map of a DAP Grid with file out netcdf information included.