63 std::string d_varname;
64 std::string d_orig_varname;
65 std::vector<std::string> d_embed;
66 bool d_defined =
false;
67 std::string d_ncVersion;
68 std::string d_nc4_datamodel;
71 bool d_is_dap4 =
false;
74 bool d_is_dap4_group =
false;
76 libdap::DDS *d_dds =
nullptr;
77 libdap::ConstraintEvaluator *d_eval =
nullptr;
82 bool fdio_flag =
false;
86 FONcBaseType() =
default;
87 ~FONcBaseType()
override =
default;
89 libdap::DDS *get_dds()
const {
return d_dds;}
90 void set_dds(libdap::DDS *dds) {d_dds = dds;}
92 libdap::ConstraintEvaluator *get_eval()
const {
return d_eval;}
93 void set_eval(libdap::ConstraintEvaluator *eval) {d_eval = eval;}
97 void convert(std::vector<std::string> embed) {
98 convert(embed,
false,
false);
100 void convert(std::vector<std::string> embed,
bool is_dap4) {
101 convert(embed, is_dap4,
false);
103 virtual void convert(std::vector<std::string> embed,
bool is_dap4,
bool is_dap4_group);
105 virtual void define(
int ncid);
107 virtual void write(
int ncid) = 0;
109 virtual std::string name() = 0;
111 virtual nc_type
type();
113 virtual int varid()
const {
return d_varid; }
115 void dump(std::ostream &strm)
const override = 0;
117 virtual void setVersion(
const std::string &version);
120 bool isNetCDF4_ENHANCED();
121 virtual void set_is_dap4(
bool set_dap4) { d_is_dap4 = set_dap4;}
122 virtual libdap::AttrType getAttrType(nc_type t);
123 virtual D4AttributeType getD4AttrType(nc_type t);
124 virtual void updateD4AttrType(libdap::D4Attributes *d4_attrs, nc_type t);
125 virtual void updateAttrType(libdap::AttrTable& attrs, nc_type t);
129 bool get_fdio_flag()
const {
return fdio_flag; }
130 void set_fdio_flag(
bool dio_flag_value =
true) { fdio_flag = dio_flag_value; }