29#ifndef __NCML_MODULE__MYBASETYPEFACTORY_H__
30#define __NCML_MODULE__MYBASETYPEFACTORY_H__
36#include <libdap/Array.h>
37#include <libdap/BaseType.h>
56class MyBaseTypeFactory {
59 MyBaseTypeFactory() =
default;
60 virtual ~MyBaseTypeFactory() =
default;
64 MyBaseTypeFactory(
const MyBaseTypeFactory& rhs);
65 MyBaseTypeFactory& operator=(
const MyBaseTypeFactory& rhs);
69 static libdap::Type
getType(
const std::string& name);
84 static std::unique_ptr<libdap::BaseType>
makeVariable(
const libdap::Type& type,
const std::string& name);
90 static std::unique_ptr<libdap::BaseType>
makeVariable(
const std::string& type,
const std::string& name);
101 bool addTemplateVar);
107 static libdap::BaseTypeFactory* _spFactory;
static std::unique_ptr< libdap::Array > makeArrayTemplateVariable(const std::string &type, const std::string &name, bool addTemplateVar)
static bool isArrayTemplate(const std::string &typeName)
static libdap::Type getType(const std::string &name)
static std::unique_ptr< libdap::BaseType > makeVariable(const libdap::Type &type, const std::string &name)
static bool isSimpleType(const std::string &typeName)
NcML Parser for adding/modifying/removing metadata (attributes) to existing local datasets using NcML...