summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Holtermann <sebholt@xwmw.org>2019-03-27 12:43:08 (GMT)
committerSebastian Holtermann <sebholt@xwmw.org>2019-03-27 17:09:53 (GMT)
commit5f6c236481da552dfdbfff6579dc9d833993adad (patch)
treeaafe256099b88b8faaf5617270696705db965ea9
parent18c30786a9a1444e726e23366dd9badb01f1d464 (diff)
downloadCMake-5f6c236481da552dfdbfff6579dc9d833993adad.zip
CMake-5f6c236481da552dfdbfff6579dc9d833993adad.tar.gz
CMake-5f6c236481da552dfdbfff6579dc9d833993adad.tar.bz2
cmFiletimeCache: Add cmFiletimeCache::Remove method
-rw-r--r--Source/cmFileTimeCache.cxx11
-rw-r--r--Source/cmFileTimeCache.h11
2 files changed, 16 insertions, 6 deletions
diff --git a/Source/cmFileTimeCache.cxx b/Source/cmFileTimeCache.cxx
index 1fff6a9..24d6bf6 100644
--- a/Source/cmFileTimeCache.cxx
+++ b/Source/cmFileTimeCache.cxx
@@ -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)
{
diff --git a/Source/cmFileTimeCache.h b/Source/cmFileTimeCache.h
index a47904c..4f1a3a2 100644
--- a/Source/cmFileTimeCache.h
+++ b/Source/cmFileTimeCache.h
@@ -5,7 +5,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
-#include "cmFileTime.h"
+#include "cmFileTime.h" // IWYU pragma: keep
#include <string>
#include <unordered_map>
@@ -28,6 +28,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