#pragma once #include #include #include using std::experimental::optional; using std::experimental::nullopt; struct Config; struct IndexFile; std::unique_ptr LoadCachedIndex(Config* config, const std::string& filename); optional LoadCachedFileContents(Config* config, const std::string& filename); void WriteToCache(Config* config, const std::string& filename, IndexFile& file, const optional& indexed_file_contents);