bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
agg_util Namespace Reference

Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file. More...

Classes

class  AggMemberDataset
 
class  AggMemberDatasetDDSWrapper
 
class  AggMemberDatasetDimensionCache
 
class  AggMemberDatasetSharedDDSWrapper
 
class  AggMemberDatasetUsingLocationRef
 
class  AggMemberDatasetWithDimensionCacheBase
 
class  AggregationException
 
class  AggregationUtil
 
class  ArrayAggregateOnOuterDimension
 
class  ArrayAggregationBase
 
struct  ArrayGetterInterface
 
class  ArrayJoinExistingAggregation
 
class  BadWeakPtr
 
class  DDSAccessInterface
 
class  DDSAccessRCInterface
 
class  DDSLoader
 
struct  Dimension
 
class  DimensionNotFoundException
 
class  DirectoryUtil
 
class  FileInfo
 
class  GridAggregateOnOuterDimension
 
class  GridAggregationBase
 
class  GridJoinExistingAggregation
 
class  RCObject
 A base class for a simple reference counted object. More...
 
class  RCObjectInterface
 
class  RCObjectPool
 
class  RCPtr
 A reference to an RCObject which automatically ref() and deref() on creation and destruction. More...
 
class  SimpleTimeParser
 
struct  TopLevelArrayGetter
 
struct  TopLevelGridDataArrayGetter
 
struct  TopLevelGridMapArrayGetter
 
class  UseCountHitZeroCB
 
class  WeakRCPtr
 

Typedefs

typedef std::vector< RCPtr< AggMemberDataset > > AMDList
 
typedef std::set< RCObject * > RCObjectSet
 

Functions

template<class T>
void appendVectorOfRCObject (std::vector< T * > &intoVec, const std::vector< T * > &fromVec)
 
template<class T>
void clearAndUnrefAllElements (std::vector< T * > &vecToClear)
 
template<typename T>
void clearVectorAndDeletePointers (std::vector< T * > &vecToClear)
 
std::ostream & operator<< (std::ostream &os, const Dimension &dim)
 
std::istream & operator>> (std::istream &is, Dimension &dim)
 

Detailed Description

Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file.

The dhi will hijacked at the start of the load() call and restored before the DDX is returned.

For exception safety, if this object's dtor is called while the dhi is hijacked or the response hasn't been relinquished, it will restore the dhi and clean memory, so the caller can guarantee resources will be in their original (ctor time) state if this object is destroyed via an exception stack unwind, etc.

TODO see if there's another way to load these files without hijacking an existing dhi or if we want to refer to remote BES's rather than the local. If we do this, this class will become an interface class with the various concrete subclasses for doing local vs. remote loads, etc.

Author
mjohnson m.joh.nosp@m.nson.nosp@m.@open.nosp@m.dap..nosp@m.org

Typedef Documentation

◆ AMDList

typedef std::vector<RCPtr<AggMemberDataset> > agg_util::AMDList

Definition at line 149 of file AggMemberDataset.h.

◆ RCObjectSet

typedef std::set<RCObject*> agg_util::RCObjectSet

Definition at line 44 of file RCObject.h.

Function Documentation

◆ appendVectorOfRCObject()

template<class T>
void agg_util::appendVectorOfRCObject ( std::vector< T * > & intoVec,
const std::vector< T * > & fromVec )

Assumes T has ref()

Definition at line 510 of file AggregationUtil.h.

◆ clearAndUnrefAllElements()

template<class T>
void agg_util::clearAndUnrefAllElements ( std::vector< T * > & vecToClear)

Assumes T has unref()

Definition at line 499 of file AggregationUtil.h.

◆ clearVectorAndDeletePointers()

template<typename T>
void agg_util::clearVectorAndDeletePointers ( std::vector< T * > & vecToClear)

For each ptr element pElt in vecToClear, delete pElt and remove it from vecToClear. On exit, vecToClear.empty() and all ptrs it used to contain have been delete'd.

Parameters
vecToClear

Definition at line 488 of file AggregationUtil.h.

◆ operator<<()

std::ostream & agg_util::operator<< ( std::ostream & os,
const Dimension & dim )

Dump to stream

Definition at line 52 of file Dimension.cc.

◆ operator>>()

std::istream & agg_util::operator>> ( std::istream & is,
Dimension & dim )

Definition at line 59 of file Dimension.cc.