58class VariableElement:
public NCMLElement {
60 VariableElement& operator=(
const VariableElement& rhs);
63 static const string _sTypeName;
67 VariableElement(
const VariableElement& proto);
68 virtual ~VariableElement();
70 virtual VariableElement*
clone()
const;
73 virtual void handleContent(
const string& content);
77 const std::string name()
const
82 const std::string type()
const
87 const std::string shape()
const
92 const std::string orgName()
const
134 void processExistingVariable(
NCMLParser& p, libdap::BaseType* pVar);
151 void processRenameVariableDataWorker(
NCMLParser& p, libdap::BaseType* pOrgVar);
181 void processNewScalar(
NCMLParser& p,
const std::string& dapType);
195 void processNewArray(
NCMLParser& p,
const std::string& dapType);
204 libdap::BaseType* replaceArrayIfNeeded(
NCMLParser& p, libdap::BaseType* pOrgVar,
const string& name);
215 void addNewVariableAndEnterScope(
NCMLParser& p,
const std::string& dapType);
220 void enterScope(
NCMLParser& p, libdap::BaseType* pVar);
228 bool isDimensionNumericConstant(
const std::string& dimToken)
const;
233 unsigned int getSizeForDimension(
NCMLParser& p,
const std::string& dimToken)
const;
250 unsigned int getProductOfDimensionSizes(
NCMLParser& p)
const;
266 libdap::BaseType* _pNewlyCreatedVar;