mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-01 11:22:21 -06:00
cmFiletimeCache: Add cmFiletimeCache::Remove method
This commit is contained in:
@@ -14,8 +14,8 @@ bool cmFileTimeCache::Load(std::string const& fileName, cmFileTime& fileTime)
|
||||
{
|
||||
// Use the stored time if available.
|
||||
{
|
||||
auto fit = this->FileTimes.find(fileName);
|
||||
if (fit != this->FileTimes.end()) {
|
||||
auto fit = this->Cache.find(fileName);
|
||||
if (fit != this->Cache.end()) {
|
||||
fileTime = fit->second;
|
||||
return true;
|
||||
}
|
||||
@@ -25,10 +25,15 @@ bool cmFileTimeCache::Load(std::string const& fileName, cmFileTime& fileTime)
|
||||
return false;
|
||||
}
|
||||
// Store file time in cache
|
||||
this->FileTimes[fileName] = fileTime;
|
||||
this->Cache[fileName] = fileTime;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cmFileTimeCache::Remove(std::string const& fileName)
|
||||
{
|
||||
return (this->Cache.erase(fileName) != 0);
|
||||
}
|
||||
|
||||
bool cmFileTimeCache::Compare(std::string const& f1, std::string const& f2,
|
||||
int* result)
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
|
||||
#include "cmFileTime.h"
|
||||
#include "cmFileTime.h" // IWYU pragma: keep
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
@@ -27,6 +27,12 @@ public:
|
||||
*/
|
||||
bool Load(std::string const& fileName, cmFileTime& fileTime);
|
||||
|
||||
/**
|
||||
* @brief Removes a file time from the cache
|
||||
* @return true if the file was found in the cache and removed
|
||||
*/
|
||||
bool Remove(std::string const& fileName);
|
||||
|
||||
/**
|
||||
* @brief Compare file modification times.
|
||||
* @return true for successful comparison and false for error.
|
||||
@@ -44,8 +50,7 @@ public:
|
||||
bool DifferS(std::string const& f1, std::string const& f2);
|
||||
|
||||
private:
|
||||
typedef std::unordered_map<std::string, cmFileTime> FileTimeMap;
|
||||
FileTimeMap FileTimes;
|
||||
std::unordered_map<std::string, cmFileTime> Cache;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user