libdap++
Updated for version 3.8.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
RValue.h
Go to the documentation of this file.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
//
24
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25
26
// (c) COPYRIGHT URI/MIT 1998-1999
27
// Please read the full copyright statement in the file COPYRIGHT_URI.
28
//
29
// Authors:
30
// jhrg,jimg James Gallagher <jgallagher@gso.uri.edu>
31
32
#ifndef _rvalue_h
33
#define _rvalue_h
34
35
namespace
libdap
36
{
37
44
class
rvalue
45
{
46
private
:
47
BaseType
*d_value;
48
btp_func d_func;
// pointer to a function returning BaseType *
49
std::vector<rvalue *> *d_args;
// arguments to the function
50
51
public
:
52
typedef
std::vector<rvalue *>::iterator
Args_iter
;
53
typedef
std::vector<rvalue *>::const_iterator
Args_citer
;
54
55
rvalue
(
BaseType
*bt);
56
rvalue
(btp_func f, vector<rvalue *> *a);
57
rvalue
();
58
59
virtual
~rvalue
();
60
string
value_name
();
61
62
BaseType
*
bvalue
(
DDS
&dds);
63
};
64
65
// This type def must come after the class definition above. It is used in
66
// the Clause and DDS classes.
67
typedef
std::vector<rvalue *>
rvalue_list
;
68
typedef
std::vector<rvalue *>::const_iterator
rvalue_list_citer
;
69
typedef
std::vector<rvalue *>::iterator
rvalue_list_iter
;
70
71
rvalue_list
*
make_rvalue_list
(
rvalue
*rv);
72
rvalue_list
*
append_rvalue_list
(
rvalue_list
*rvals,
rvalue
*rv);
73
74
BaseType
**
build_btp_args
(
rvalue_list
*args,
DDS
&dds);
75
76
}
// namespace libdap
77
#endif // _rvalue_h
RValue.h
Generated on Wed Jul 10 2013 17:26:31 for libdap++ by
1.8.4