29 #ifndef __AGG_UTIL__AGG_MEMBER_DATASET_WITH_DIMENSION_CACHE_BASE_H__
30 #define __AGG_UTIL__AGG_MEMBER_DATASET_WITH_DIMENSION_CACHE_BASE_H__
75 Dimension* findDimension(
const std::string& dimName);
82 void addDimensionsForVariableRecursive(libdap::BaseType& var);
84 void saveDimensionCacheInternal(std::ostream& ostr);
85 void loadDimensionCacheInternal(std::istream& istr);
88 std::vector<Dimension> _dimensionCache;
Abstract helper superclass for allowing lazy access to the DataDDS for an aggregation.
virtual bool isDimensionCached(const std::string &dimName) const
Return whether the dimension is already cached, or would have to be loaded to be found.
AggMemberDatasetWithDimensionCacheBase(const std::string &location)
virtual void setDimensionCacheFor(const Dimension &dim, bool throwIfFound)
Seed the dimension cache using the given dimension, so that later calls to getDimensionSize for dim...
virtual unsigned int getCachedDimensionSize(const std::string &dimName) const
Get the size of the given dimension named dimName cached within the dataset.
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
virtual void loadDimensionCache(std::istream &istr)
Load the values in the dimension cache from the input stream.
virtual ~AggMemberDatasetWithDimensionCacheBase()
static class NCMLUtil overview
AggMemberDatasetWithDimensionCacheBase & operator=(const AggMemberDatasetWithDimensionCacheBase &rhs)
Struct for holding information about a dimension of data, minimally a name and a cardinality (size)...
virtual void flushDimensionCache()
Flush out any cache for the Dimensions so that it will have to be loaded.
virtual void saveDimensionCache(std::ostream &ostr)
Append the values in the dimension cache to the output stream.
virtual void fillDimensionCacheByUsingDataDDS()
Uses the getDataDDS() call in order to find all named dimensions within it and to seed them into the ...