54#include "Constructor.h"
57#ifndef constraint_evaluator_h
58#include "ConstraintEvaluator.h"
127 void m_duplicate(
const Grid &s);
130 Grid(
const string &n);
131 Grid(
const string &n,
const string &d);
132 Grid(
const Grid &rhs);
135 typedef std::vector<BaseType *>::const_iterator Map_citer;
136 typedef std::vector<BaseType *>::iterator Map_iter;
137 typedef std::vector<BaseType *>::reverse_iterator Map_riter;
139 Grid &operator=(
const Grid &rhs);
142 virtual void transform_to_dap4(D4Group *root, Constructor *container);
144 virtual bool is_dap2_only_type();
146 virtual void add_var(BaseType *bt, Part part);
147 virtual void add_var_nocopy(BaseType *bt, Part part);
149 virtual void set_array(Array *p_new_arr);
150 virtual Array *add_map(Array *p_new_map,
bool add_copy);
151 virtual Array *prepend_map(Array *p_new_map,
bool add_copy);
153 BaseType *array_var();
158 virtual int components(
bool constrained =
false);
160 virtual bool projection_yields_grid();
162 virtual void clear_constraint();
164 virtual void print_decl(ostream &out,
string space =
" ",
bool print_semi =
true,
bool constraint_info =
false,
165 bool constrained =
false);
167 virtual void print_xml(ostream &out,
string space =
" ",
bool constrained =
false);
168 virtual void print_xml_writer(XMLWriter &xml,
bool constrained =
false);
170 virtual void print_val(ostream &out,
string space =
"",
bool print_decl_p =
true);
172 virtual void print_decl(FILE *out,
string space =
" ",
bool print_semi =
true,
bool constraint_info =
false,
173 bool constrained =
false);
174 virtual void print_xml(FILE *out,
string space =
" ",
bool constrained =
false);
175 virtual void print_val(FILE *out,
string space =
"",
bool print_decl_p =
true);
177 virtual void transfer_attributes(AttrTable *at_container);
179 virtual bool check_semantics(
string &msg,
bool all =
false);
181 Map_iter map_begin();
183 Map_riter map_rbegin();
184 Map_riter map_rend();
185 Map_iter get_map_iter(
int i);
187 virtual void dump(ostream &strm)
const;
top level DAP object to house generic methods
virtual BaseType * ptr_duplicate()=0
virtual void print_val(FILE *out, string space="", bool print_decl_p=true)
Prints the value of the variable.