29 class DataLayoutPolicy;
56 static std::shared_ptr<const DataLayoutPolicy> generate(
const std::string &polid =
"");
62 static std::shared_ptr<const DataLayoutPolicy> generate(
63 const std::string &polid,
const std::string &mapPath,
64 const std::vector<std::string> &nonODBVariables = {});
66 static std::shared_ptr<const DataLayoutPolicy> generate(Policies pol = Policies::None);
72 static std::shared_ptr<const DataLayoutPolicy> generate(
73 Policies pol,
const std::string &mapPath,
74 const std::vector<std::string> &nonODBVariables = {});
76 static inline std::shared_ptr<const DataLayoutPolicy>
_py_generate1(
const std::string &polid) {
77 return generate(polid);
86 virtual void initializeStructure(
Group_Base &)
const;
100 virtual std::string doMap(
const std::string &)
const;
103 virtual bool isComplementary(
const std::string &)
const;
106 virtual bool isMapped(
const std::string &)
const;
109 virtual bool isMapOutput(
const std::string &)
const;
113 virtual size_t getComplementaryPosition(
const std::string &)
const;
117 virtual std::string getOutputNameFromComponent(
const std::string &)
const;
121 virtual std::type_index getOutputVariableDataType(
const std::string &)
const;
125 virtual MergeMethod getMergeMethod(
const std::string &)
const;
129 virtual size_t getInputsNeeded(
const std::string &)
const;
134 virtual std::pair<bool, std::string> getUnit(
const std::string &)
const;
137 virtual std::string
name()
const;
An ObsGroup is a specialization of a ioda::Group. It provides convenience functions and guarantees th...
Policy used for setting locations for Variable access.
static std::shared_ptr< const DataLayoutPolicy > _py_generate1(const std::string &polid)
static std::shared_ptr< const DataLayoutPolicy > _py_generate2(Policies pol)
Hidden base class to prevent constructor confusion.
Common preprocessor definitions used throughout IODA.
#define IODA_DL
A preprocessor tag that indicates that a symbol is to be exported/imported.