bes Updated for version 3.20.13
|
#include <ArrayAggregationBase.h>
Public Member Functions | |
ArrayAggregationBase (const ArrayAggregationBase &rhs) | |
ArrayAggregationBase (const libdap::Array &granuleProto, AMDList memberDatasets, std::unique_ptr< ArrayGetterInterface > arrayGetter) | |
const AMDList & | getDatasetList () const |
ArrayAggregationBase & | operator= (const ArrayAggregationBase &rhs) |
ArrayAggregationBase * | ptr_duplicate () override |
bool | read () override |
Protected Member Functions | |
const ArrayGetterInterface & | getArrayGetterInterface () const |
libdap::Array & | getGranuleTemplateArray () |
void | printConstraints (const Array &fromArray) |
virtual void | readConstrainedGranuleArraysAndAggregateDataHook () |
virtual void | transferOutputConstraintsIntoGranuleTemplateHook () |
Base class for subclasses of libdap::Array which perform aggregation on a list of AggMemberDatasets when asked.
Definition at line 51 of file ArrayAggregationBase.h.
agg_util::ArrayAggregationBase::ArrayAggregationBase | ( | const libdap::Array & | granuleProto, |
AMDList | memberDatasets, | ||
std::unique_ptr< ArrayGetterInterface > | arrayGetter | ||
) |
Construct the base class using the given parameters. Used for join aggregation concrete subclasses.
granuleProto | template describing the data array of for a granule (member) of the join agg. Note: for joinExisting the array size may not be correct! |
memberDatasets | the granules to use in the agg |
arrayGetter | unique_ptr to the data array getter for the variable. Note the unique_ptr ref is sunk by the ctor so don't delete/release from the caller. |
Definition at line 52 of file ArrayAggregationBase.cc.
agg_util::ArrayAggregationBase::ArrayAggregationBase | ( | const ArrayAggregationBase & | rhs | ) |
Definition at line 58 of file ArrayAggregationBase.cc.
|
override |
Definition at line 68 of file ArrayAggregationBase.cc.
|
protected |
Accessor for subclasses Note this is protected, so not const! Subclasses may mutate the return hence this, but should not delete it, hence the reference.
Definition at line 165 of file ArrayAggregationBase.cc.
const AMDList & agg_util::ArrayAggregationBase::getDatasetList | ( | ) | const |
Get the list of AggMemberDataset's that comprise this aggregation
Definition at line 143 of file ArrayAggregationBase.cc.
|
protected |
Accessor for subclasses Note this is protected, so not const! Subclasses may mutate the return hence this, but should not delete it, hence the reference.
Definition at line 158 of file ArrayAggregationBase.cc.
ArrayAggregationBase & agg_util::ArrayAggregationBase::operator= | ( | const ArrayAggregationBase & | rhs | ) |
Definition at line 74 of file ArrayAggregationBase.cc.
|
protected |
Print out the constraints on fromArray to the debug channel
Definition at line 150 of file ArrayAggregationBase.cc.
|
override |
virtual constructor i.e. clone
Definition at line 86 of file ArrayAggregationBase.cc.
|
override |
Base implementation that works for both joinNew and joinExisting. Sets ups constraints and things and then calls the subclass helper readAndAggregateGranules() for the specialized subclass behaviors.
Can | throw BESError, minimally |
Definition at line 97 of file ArrayAggregationBase.cc.
|
protectedvirtual |
The meat of the subclass impl of read(). Called from read() once this base class state is ready for the granule data.
Reimplemented in agg_util::ArrayJoinExistingAggregation, and agg_util::ArrayAggregateOnOuterDimension.
Definition at line 198 of file ArrayAggregationBase.cc.
|
protectedvirtual |
subclass hook from read() to setup constraints on inner dims correctly
Reimplemented in agg_util::ArrayJoinExistingAggregation, and agg_util::ArrayAggregateOnOuterDimension.
Definition at line 190 of file ArrayAggregationBase.cc.