47#include "Constructor.h"
179 int d_starting_row_number;
181 int d_ending_row_number;
192 bool d_leaf_sequence;
197 bool is_end_of_rows(
int i);
199 friend class SequenceTest;
202 void m_duplicate(
const Sequence &s);
203 typedef stack<SequenceValues *> sequence_values_stack_t;
205 virtual bool serialize_parent_part_one(DDS &dds, ConstraintEvaluator &eval, Marshaller &m);
206 virtual void serialize_parent_part_two(DDS &dds, ConstraintEvaluator &eval, Marshaller &m);
207 virtual bool serialize_leaf(DDS &dds, ConstraintEvaluator &eval, Marshaller &m,
bool ce_eval);
209 virtual void intern_data_private(ConstraintEvaluator &eval, DDS &dds,
210 sequence_values_stack_t &sequence_values_stack);
211 virtual void intern_data_for_leaf(DDS &dds, ConstraintEvaluator &eval,
212 sequence_values_stack_t &sequence_values_stack);
214 virtual void intern_data_parent_part_one(DDS &dds, ConstraintEvaluator &eval,
215 sequence_values_stack_t &sequence_values_stack);
217 virtual void intern_data_parent_part_two(DDS &dds, ConstraintEvaluator &eval,
218 sequence_values_stack_t &sequence_values_stack);
221 Sequence(
const string &n);
222 Sequence(
const string &n,
const string &d);
224 Sequence(
const Sequence &rhs);
228 Sequence &operator=(
const Sequence &rhs);
234 virtual void transform_to_dap4(D4Group *root, Constructor *container);
236 virtual bool is_dap2_only_type();
238 virtual string toString();
240 virtual bool is_linear();
242 virtual int length()
const;
244 virtual int number_of_rows()
const;
246 virtual bool read_row(
int row, DDS &dds, ConstraintEvaluator &eval,
bool ce_eval =
true);
248 virtual void intern_data(ConstraintEvaluator &eval, DDS &dds);
249 virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m,
bool ce_eval =
true);
250 virtual bool deserialize(UnMarshaller &um, DDS *dds,
bool reuse =
false);
253 void reset_row_number();
256 void reset_row_number(
bool recur);
257 void increment_row_number(
unsigned int i) { d_row_number += i; }
258 int get_row_number()
const {
return d_row_number; }
260 int get_starting_row_number();
262 virtual int get_row_stride();
264 virtual int get_ending_row_number();
266 virtual void set_row_number_constraint(
int start,
int stop,
int stride = 1);
269 bool get_unsent_data()
const {
return d_unsent_data; }
272 void set_unsent_data(
bool usd) { d_unsent_data = usd; }
274 virtual void set_value(SequenceValues &values);
278 virtual BaseType *
var_value(
size_t row,
const string &name);
280 virtual BaseType *
var_value(
size_t row,
size_t i);
283 virtual void print_one_row(ostream &out,
int row,
string space,
bool print_row_num =
false);
284 virtual void print_val_by_rows(ostream &out,
string space =
"",
bool print_decl_p =
true,
285 bool print_row_numbers =
true);
286 virtual void print_val(ostream &out,
string space =
"",
bool print_decl_p =
true);
288 virtual void print_one_row(FILE *out,
int row,
string space,
bool print_row_num =
false);
289 virtual void print_val_by_rows(FILE *out,
string space =
"",
bool print_decl_p =
true,
290 bool print_row_numbers =
true);
291 virtual void print_val(FILE *out,
string space =
"",
bool print_decl_p =
true);
293 virtual void set_leaf_p(
bool state);
295 virtual bool is_leaf_sequence();
297 virtual void set_leaf_sequence(
int lvl = 1);
299 virtual void dump(ostream &strm)
const;
Evaluate a constraint expression.
top level DAP object to house generic methods
virtual BaseType * ptr_duplicate()=0
virtual bool deserialize(UnMarshaller &um, DDS *dds, bool reuse=false)
Receive data from the net.
vector< BaseType * > BaseTypeRow
virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
Move data to the net, then remove them from the object.
virtual int length() const
How many elements are in this variable? Uses -1 in places.
virtual void intern_data(ConstraintEvaluator &eval, DDS &dds)
virtual void set_value(D4SeqValues &values)
Set the internal value. The 'values' of a D4Sequence is a vector of vectors of BaseType* objects....
virtual D4SeqValues & value_ref()
Get the sequence values by reference This method returns a reference to the D4Sequence's values,...
vector< BaseTypeRow * > SequenceValues
virtual BaseType * var_value(size_t row, const string &name)
Get the BaseType pointer to the named variable of a given row.
virtual void print_val(FILE *out, string space="", bool print_decl_p=true)
Prints the value of the variable.
virtual D4SeqValues value() const
Get the values for this D4Sequence This method returns a reference to the values held by the instance...
virtual D4SeqRow * row_value(size_t row)
Get a whole row from the sequence.
virtual void clear_local_data()
The basic data type for the DODS DAP types. */.