libdap Updated for version 3.21.1
libdap4 is an implementation of OPeNDAP's DAP protocol.
|
DAP4 filter clauses. More...
#include <D4FilterClause.h>
Public Types | |
enum | ops { null = 0 , less = SCAN_LESS , greater = SCAN_GREATER , less_equal = SCAN_LESS_EQL , greater_equal = SCAN_GREATER_EQL , equal = SCAN_EQUAL , not_equal = SCAN_NOT_EQUAL , match = SCAN_REGEXP , map , ND } |
Public Member Functions | |
D4FilterClause (const D4FilterClause &src) | |
D4FilterClause (const ops op, D4RValue *arg1, D4RValue *arg2) | |
D4FilterClause & | operator= (const D4FilterClause &rhs) |
bool | value () |
Get the value of this relational expression. This version of value() will not work for clauses where one of the rvalues is a function call. This is not currently supported by the DAP4 specification, so it's probably no great loss. | |
bool | value (DMR &dmr) |
Get the value of this relational expression. This version of value() works for function clauses, although that's not supported by the syntax at this time. | |
virtual | ~D4FilterClause () |
Friends | |
class | D4FilterClauseList |
DAP4 filter clauses.
The DAP4 constraint expression provides a way to filter the values of Sequences (and possibly arrays and coverages, although those are still more ideas than anything at this point). This class holds the operator and operands of one DAP4 constraint's filter clause. The object is built during the parse phase of the constraint evaluation but is not evaluated until the data are sent or interned (read into the DAP4 variable object so that they can be used as input to some process other than directly being sent to a remote client).
For filter clauses that are to be applied to a Sequence, each D4RValue will either be a constant or a BaseType* that will reference one of the Sequences fields. The method 'value()' is effectively the evaluator for the clause and nominally reads values from the rvalue objects.
Definition at line 109 of file D4FilterClause.h.
Enumerator | |
---|---|
null | |
less | |
greater | |
less_equal | |
greater_equal | |
equal | |
not_equal | |
match | |
map | |
ND |
Definition at line 111 of file D4FilterClause.h.
Build a D4FilterClause. The clause will take ownership of the two pointer arguments and delete them.
op | The operator |
arg1 | The left-hand operand |
arg2 | The right-hand operand |
Definition at line 163 of file D4FilterClause.h.
|
inline |
Definition at line 169 of file D4FilterClause.h.
|
inlinevirtual |
Definition at line 180 of file D4FilterClause.h.
|
inline |
Definition at line 171 of file D4FilterClause.h.
bool libdap::D4FilterClause::value | ( | ) |
Get the value of this relational expression. This version of value() will not work for clauses where one of the rvalues is a function call. This is not currently supported by the DAP4 specification, so it's probably no great loss.
Definition at line 169 of file D4FilterClause.cc.
bool libdap::D4FilterClause::value | ( | DMR & | dmr | ) |
Get the value of this relational expression. This version of value() works for function clauses, although that's not supported by the syntax at this time.
dmr | The DMR to use when evaluating a function |
Definition at line 138 of file D4FilterClause.cc.
|
friend |
Definition at line 143 of file D4FilterClause.h.