28 class DataLayoutPolicy;
55 static std::shared_ptr<const DataLayoutPolicy> generate(
const std::string &polid =
"");
59 static std::shared_ptr<const DataLayoutPolicy> generate(
const std::string &polid,
60 const std::string &mapPath);
62 static std::shared_ptr<const DataLayoutPolicy> generate(Policies pol = Policies::None);
66 static std::shared_ptr<const DataLayoutPolicy> generate(Policies pol,
67 const std::string &mapPath);
69 static inline std::shared_ptr<const DataLayoutPolicy>
_py_generate1(
const std::string &polid) {
70 return generate(polid);
79 virtual void initializeStructure(
Group_Base &)
const;
93 virtual std::string doMap(
const std::string &)
const;
96 virtual bool isComplementary(
const std::string &)
const;
99 virtual bool isMapped(
const std::string &)
const;
103 virtual size_t getComplementaryPosition(
const std::string &)
const;
107 virtual std::string getOutputNameFromComponent(
const std::string &)
const;
111 virtual std::type_index getOutputVariableDataType(
const std::string &)
const;
115 virtual MergeMethod getMergeMethod(
const std::string &)
const;
119 virtual size_t getInputsNeeded(
const std::string &)
const;
124 virtual std::pair<bool, std::string> getUnit(
const std::string &)
const;
127 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.