26#define _d4sequence_h 1
28#include "Constructor.h"
32#define INDEX_SUBSETTING 0
154 int d_starting_row_number;
156 int d_ending_row_number;
159 void m_duplicate(
const D4Sequence &s);
163 void read_sequence_values(
bool filter);
165 friend class D4SequenceTest;
168 D4Sequence(
const string &n);
169 D4Sequence(
const string &n,
const string &d);
171 D4Sequence(
const D4Sequence &rhs);
173 virtual ~D4Sequence();
175 D4Sequence &operator=(
const D4Sequence &rhs);
189 int length()
const override {
return (
int)d_length; }
195 void set_length(int64_t count)
override { d_length = count; }
201 throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4");
204 throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4");
207 throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4");
211 void intern_data()
override;
212 void serialize(D4StreamMarshaller &m, DMR &dmr,
bool filter =
false)
override;
213 void deserialize(D4StreamUnMarshaller &um, DMR &dmr)
override;
215 D4FilterClauseList &clauses();
229 virtual int get_starting_row_number()
const {
return d_starting_row_number; }
241 virtual int get_row_stride()
const {
return d_row_stride; }
254 virtual int get_ending_row_number()
const {
return d_ending_row_number; }
256 virtual void set_row_number_constraint(
int start,
int stop,
int stride = 1);
270 d_length = d_values.size();
293 virtual D4SeqRow *row_value(
size_t row);
294 virtual BaseType *var_value(
size_t row,
const string &name);
295 virtual BaseType *var_value(
size_t row,
size_t i);
297 virtual void print_one_row(ostream &out,
int row,
string space,
bool print_row_num =
false);
298 virtual void print_val_by_rows(ostream &out,
string space =
"",
bool print_decl_p =
true,
299 bool print_row_numbers =
true);
300 void print_val(ostream &out,
string space =
"",
bool print_decl_p =
true)
override;
302 void dump(ostream &strm)
const override;
Evaluate a constraint expression.
List of DAP4 Filter Clauses.
A class for software fault reporting.
abstract base class used to marshal/serialize dap data objects
abstract base class used to unmarshall/deserialize dap data objects
top level DAP object to house generic methods
virtual void set_length(int64_t)
Set the number of elements for this variable. use -1 to indicate nothing set.
virtual BaseType * ptr_duplicate()=0
virtual bool deserialize(UnMarshaller &um, DDS *dds, bool reuse=false)
Receive data from the net.
virtual bool read_next_instance(bool filter)
Read the next instance of the sequence While the rest of the variables' read() methods are assumed to...
vector< BaseType * > BaseTypeRow
vector< BaseType * > D4SeqRow
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 D4SeqValues value() const
Get the values for this D4Sequence This method returns a reference to the values held by the instance...
vector< D4SeqRow * > D4SeqValues
virtual void clear_local_data()
The basic data type for the DODS DAP types. */.