bes
Updated for version 3.20.5
ArrayAggregateOnOuterDimension.h
1
// This file is part of the "NcML Module" project, a BES module designed
3
// to allow NcML files to be used to be used as a wrapper to add
4
// AIS to existing datasets of any format.
5
//
6
// Copyright (c) 2010 OPeNDAP, Inc.
7
// Author: Michael Johnson <m.johnson@opendap.org>
8
//
9
// For more information, please also see the main website: http://opendap.org/
10
//
11
// This library is free software; you can redistribute it and/or
12
// modify it under the terms of the GNU Lesser General Public
13
// License as published by the Free Software Foundation; either
14
// version 2.1 of the License, or (at your option) any later version.
15
//
16
// This library is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
// Lesser General Public License for more details.
20
//
21
// You should have received a copy of the GNU Lesser General Public
22
// License along with this library; if not, write to the Free Software
23
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
//
25
// Please see the files COPYING and COPYRIGHT for more information on the GLPL.
26
//
27
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
29
30
#ifndef __AGG_UTIL__ARRAY_AGGREGATE_ON_OUTER_DIMENSION_H__
31
#define __AGG_UTIL__ARRAY_AGGREGATE_ON_OUTER_DIMENSION_H__
32
33
#include "ArrayAggregationBase.h"
// agg_util
34
#include "Dimension.h"
// agg_util
35
36
using
std::string;
37
using
std::vector;
38
using
libdap::Array;
39
40
namespace
libdap
{
41
class
ConstraintEvaluator;
42
class
DDS;
43
class
Marshaller;
44
}
45
46
namespace
agg_util
{
79
class
ArrayAggregateOnOuterDimension
:
public
ArrayAggregationBase
{
80
public
:
97
ArrayAggregateOnOuterDimension
(
const
libdap::Array& proto,
const
AMDList& memberDatasets,
98
std::auto_ptr<ArrayGetterInterface>& arrayGetter,
const
Dimension
& newDim);
99
101
ArrayAggregateOnOuterDimension
(
const
ArrayAggregateOnOuterDimension
& proto);
102
104
virtual
~ArrayAggregateOnOuterDimension
();
105
111
virtual
ArrayAggregateOnOuterDimension
*
ptr_duplicate
();
112
118
ArrayAggregateOnOuterDimension
&
operator=
(
const
ArrayAggregateOnOuterDimension
& rhs);
119
120
virtual
bool
serialize
(libdap::ConstraintEvaluator &eval, libdap::DDS &dds, libdap::Marshaller &m,
bool
ce_eval);
121
122
protected
:
123
// Subclass Interface
125
virtual
void
transferOutputConstraintsIntoGranuleTemplateHook
();
126
131
virtual
void
readConstrainedGranuleArraysAndAggregateDataHook
();
132
133
private
:
134
// Helper interface
135
137
void
duplicate(
const
ArrayAggregateOnOuterDimension
& rhs);
138
140
void
cleanup()
throw
();
141
142
private
:
143
// Data rep
144
145
// The new outer dimension description
146
Dimension
_newDim;
147
148
};
149
// class ArrayAggregateOnOuterDimension
150
151
}
152
153
#endif
/* __AGG_UTIL__ARRAY_AGGREGATE_ON_OUTER_DIMENSION_H__ */
agg_util::ArrayAggregateOnOuterDimension::~ArrayAggregateOnOuterDimension
virtual ~ArrayAggregateOnOuterDimension()
Definition:
ArrayAggregateOnOuterDimension.cc:76
agg_util::ArrayAggregateOnOuterDimension::operator=
ArrayAggregateOnOuterDimension & operator=(const ArrayAggregateOnOuterDimension &rhs)
Definition:
ArrayAggregateOnOuterDimension.cc:89
agg_util::Dimension
Definition:
Dimension.h:49
agg_util
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
Definition:
AggMemberDataset.cc:38
agg_util::ArrayAggregateOnOuterDimension::transferOutputConstraintsIntoGranuleTemplateHook
virtual void transferOutputConstraintsIntoGranuleTemplateHook()
Definition:
ArrayAggregateOnOuterDimension.cc:253
agg_util::ArrayAggregationBase
Definition:
ArrayAggregationBase.h:49
libdap
Definition:
BESDapFunctionResponseCache.h:35
agg_util::ArrayAggregateOnOuterDimension::ArrayAggregateOnOuterDimension
ArrayAggregateOnOuterDimension(const libdap::Array &proto, const AMDList &memberDatasets, std::auto_ptr< ArrayGetterInterface > &arrayGetter, const Dimension &newDim)
Definition:
ArrayAggregateOnOuterDimension.cc:57
agg_util::ArrayAggregateOnOuterDimension
Definition:
ArrayAggregateOnOuterDimension.h:79
agg_util::ArrayAggregateOnOuterDimension::readConstrainedGranuleArraysAndAggregateDataHook
virtual void readConstrainedGranuleArraysAndAggregateDataHook()
Definition:
ArrayAggregateOnOuterDimension.cc:270
agg_util::ArrayAggregateOnOuterDimension::serialize
virtual bool serialize(libdap::ConstraintEvaluator &eval, libdap::DDS &dds, libdap::Marshaller &m, bool ce_eval)
Definition:
ArrayAggregateOnOuterDimension.cc:123
agg_util::ArrayAggregateOnOuterDimension::ptr_duplicate
virtual ArrayAggregateOnOuterDimension * ptr_duplicate()
Definition:
ArrayAggregateOnOuterDimension.cc:83
modules
ncml_module
ArrayAggregateOnOuterDimension.h
Generated by
1.8.16