libdap
Updated for version 3.20.6
libdap4 is an implementation of OPeNDAP's DAP protocol.
Clause.h
1
2
// -*- mode: c++; c-basic-offset:4 -*-
3
4
// This file is part of libdap, A C++ implementation of the OPeNDAP Data
5
// Access Protocol.
6
7
// Copyright (c) 2002,2003 OPeNDAP, Inc.
8
// Author: James Gallagher <jgallagher@opendap.org>
9
//
10
// This library is free software; you can redistribute it and/or
11
// modify it under the terms of the GNU Lesser General Public
12
// License as published by the Free Software Foundation; either
13
// version 2.1 of the License, or (at your option) any later version.
14
//
15
// This library is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
// Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public
21
// License along with this library; if not, write to the Free Software
22
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
//
24
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25
26
// (c) COPYRIGHT URI/MIT 1995-1999
27
// Please first read the full copyright statement in the file COPYRIGHT_URI.
28
//
29
// Authors:
30
// jhrg,jimg James Gallagher <jgallagher@gso.uri.edu>
31
32
// Interface for the CE Clause class.
33
34
#ifndef _clause_h
35
#define _clause_h
36
37
38
#ifndef _expr_h
39
#include "expr.h"
40
#endif
41
42
#ifndef _rvalue_h
43
#include "RValue.h"
44
#endif
45
46
namespace
libdap
47
{
48
90
struct
Clause
91
{
92
93
private
:
95
int
_op;
97
bool_func _b_func;
98
101
btp_func _bt_func;
102
103
int
_argc;
// arg count
104
rvalue
*_arg1;
// only for operator
105
rvalue_list *_args;
// vector arg
106
107
Clause
(
const
Clause
&);
108
Clause
&operator=(
const
Clause
&);
109
110
public
:
111
Clause
(
const
int
oper,
rvalue
*a1, rvalue_list *rv);
112
Clause
(bool_func func, rvalue_list *rv);
113
Clause
(btp_func func, rvalue_list *rv);
114
Clause
();
115
116
virtual
~
Clause
();
117
118
bool
OK
();
119
120
bool
boolean_clause
();
121
122
bool
value_clause
();
123
124
bool
value
(
DDS
&dds);
125
126
bool
value
(
DDS
&dds,
BaseType
**
value
);
127
};
128
129
}
// namespace libdap
130
131
#endif // _clause_h
libdap::rvalue
Definition:
RValue.h:46
libdap
top level DAP object to house generic methods
Definition:
AlarmHandler.h:35
libdap::Clause::value
bool value(DDS &dds)
Evaluate a clause which returns a boolean value This method must only be evaluated for clauses with r...
Definition:
Clause.cc:156
libdap::Clause
Holds a fragment of a constraint expression.
Definition:
Clause.h:90
libdap::Clause::OK
bool OK()
Checks the "representation invariant" of a clause.
Definition:
Clause.cc:106
libdap::DDS
Definition:
DDS.h:183
libdap::Clause::boolean_clause
bool boolean_clause()
Return true if the clause returns a boolean value.
Definition:
Clause.cc:129
libdap::BaseType
The basic data type for the DODS DAP types.
Definition:
BaseType.h:117
libdap::Clause::value_clause
bool value_clause()
Return true if the clause returns a value in a BaseType pointer.
Definition:
Clause.cc:138
Clause.h
Generated by
1.8.17