15 #include "Eigen/Dense"
30 typedef std::map<std::string, std::shared_ptr<DataObject>>
DataSetMap;
55 void add(
const std::string& fieldName,
56 std::shared_ptr<DataObject> data,
62 std::shared_ptr<DataObject>
get(
const std::string& fieldName,
68 bool hasKey(
const std::string& fieldName,
Collection of DataObjects that a Parser collected identified by their exported name.
DataSets dataSets_
Map of data for each possible subcategory.
std::shared_ptr< DataObject > get(const std::string &fieldName, const SubCategory &categoryId={}) const
Get a DataObject from the collection.
bool hasKey(const std::string &fieldName, const SubCategory &categoryId={}) const
Check if DataObject with name is available.
CategoryMap getCategoryMap() const
Get the map of categories.
void makeDataSets()
Uses category map to generate listings of all possible subcategories.
size_t size(const SubCategory &categoryId={}) const
Get the number of rows of the specified sub category.
DataContainer()
Simple constructor.
void add(const std::string &fieldName, std::shared_ptr< DataObject > data, const SubCategory &categoryId={})
Add a DataObject to the collection.
std::vector< SubCategory > allSubCategories() const
Get the number of rows of the specified sub category.
static std::string makeSubCategoryStr(const SubCategory &categoryId)
Convenience function used to make a string out of a subcategory listing.
const CategoryMap categoryMap_
Category map given (see constructor).
std::map< std::string, std::shared_ptr< DataObject > > DataSetMap
Map string paths (ex: variable/radiance) to DataObject.
std::map< std::string, SubCategory > CategoryMap
Map of data set id's to vector of possible value strings.
std::vector< std::string > SubCategory
List of possible category strings (for splitting data)
std::map< std::vector< std::string >, DataSetMap > DataSets
Map category combo (ex: SatId/sat_1, GeoBox/lat_25_30__lon_23_26) to the relevant DataSetMap.