1 #ifndef SKY_MODEL_CACHE_H_
2 #define SKY_MODEL_CACHE_H_
21 auto iterator = cache_.find(filename);
22 if (iterator == cache_.end()) {
23 return cache_.insert_or_assign(filename,
ReadSkyModel(filename))
26 return iterator->second;
31 const std::string& filename,
const std::vector<std::string>& patterns) {
38 const std::string& filename,
39 const std::vector<std::string>& patch_names) {
45 void Clear() { cache_.clear(); }
48 std::map<std::string, SkyModel> cache_;
Class holding all functions needed to convert a .sky_model text file into a .sourcedb directory.
Definition: SkyModelCache.h:13
SkyModel GetSkyModel(const std::string &filename)
Definition: SkyModelCache.h:20
SkyModelSelection GetSkyModelPatches(const std::string &filename, const std::vector< std::string > &patch_names)
Definition: SkyModelCache.h:37
static SkyModelCache & GetInstance()
Definition: SkyModelCache.h:15
SkyModelSelection GetMatchedSkyModel(const std::string &filename, const std::vector< std::string > &patterns)
Definition: SkyModelCache.h:30
void Clear()
Definition: SkyModelCache.h:45
Definition: SkyModelSelection.h:13
void SelectPatchList(const std::vector< std::string > &patch_names)
void SelectMatchingPatches(const std::vector< std::string > &filter)
Definition: SkyModel.h:15
SkyModel ReadSkyModel(const std::string &filename, const std::string &format)