26#define _d4sequence_h 1
32#define INDEX_SUBSETTING 0
38class D4FilterClauseList;
154 int d_starting_row_number;
156 int d_ending_row_number;
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");
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);
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;
The basic data type for the DODS DAP types.
virtual string name() const
Returns the name of the class instance.
Evaluate a constraint expression.
Constructor(const string &name, const Type &type, bool is_dap4=false)
List of DAP4 Filter Clauses.
virtual D4SeqRow * row_value(size_t row)
Get a whole row from the sequence.
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...
BaseType * ptr_duplicate() override
virtual void set_value(D4SeqValues &values)
Set the internal value. The 'values' of a D4Sequence is a vector of vectors of BaseType* objects....
D4Sequence(const string &n)
The Sequence constructor.
int length() const override
The number of elements in a Sequence object.
virtual void print_one_row(ostream &out, int row, string space, bool print_row_num=false)
D4FilterClauseList & clauses()
Access the filter clauses for this D4Sequence.
virtual void print_val_by_rows(ostream &out, string space="", bool print_decl_p=true, bool print_row_numbers=true)
void intern_data(ConstraintEvaluator &, DDS &) override
virtual D4SeqValues value() const
Get the values for this D4Sequence This method returns a reference to the values held by the instance...
virtual D4SeqValues & value_ref()
Get the sequence values by reference This method returns a reference to the D4Sequence's values,...
void set_length(int64_t count) override
bool serialize(ConstraintEvaluator &, DDS &, Marshaller &, bool) override
Move data to the net, then remove them from the object.
void m_duplicate(const D4Sequence &s)
bool deserialize(UnMarshaller &, DDS *, bool) override
Receive data from the net.
void dump(ostream &strm) const override
dumps information about this object
void print_val(ostream &out, string space="", bool print_decl_p=true) override
Prints the value of the variable.
void intern_data() override
Read data into this variable.
friend class D4SequenceTest
void read_sequence_values(bool filter)
Read a Sequence's value into memory.
virtual BaseType * var_value(size_t row, const string &name)
Get the BaseType pointer to the named variable of a given row.
D4Sequence & operator=(const D4Sequence &rhs)
void clear_local_data() override
Marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using DAP4's receiv...
Read data from the stream made by D4StreamMarshaller.
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
vector< BaseType * > BaseTypeRow
vector< BaseType * > D4SeqRow
vector< BaseTypeRow * > SequenceValues
vector< D4SeqRow * > D4SeqValues