Mercurial > hg > orthanc
changeset 3457:9ea218c90057
merge
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Wed, 03 Jul 2019 10:31:06 +0200 |
parents | ca3ac0f210d6 (diff) 0013818bf6d4 (current diff) |
children | 4e34fd3e226a fbe22748cd9c |
files | |
diffstat | 3 files changed, 32 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Core/Cache/LeastRecentlyUsedIndex.h Sat Jun 29 10:35:58 2019 +0200 +++ b/Core/Cache/LeastRecentlyUsedIndex.h Wed Jul 03 10:31:06 2019 +0200 @@ -35,6 +35,7 @@ #include <list> #include <map> +#include <vector> #include <boost/noncopyable.hpp> #include <cassert> @@ -151,6 +152,17 @@ const T& GetOldest() const; const Payload& GetOldestPayload() const; + + void GetAllKeys(std::vector<T>& keys) const + { + keys.clear(); + keys.reserve(GetSize()); + for (typename Index::const_iterator it = index_.begin(); it != index_.end(); it++) + { + keys.push_back(it->first); + } + } + };
--- a/Core/Images/PamReader.h Sat Jun 29 10:35:58 2019 +0200 +++ b/Core/Images/PamReader.h Wed Jul 03 10:31:06 2019 +0200 @@ -49,6 +49,7 @@ std::string content_; public: + #if ORTHANC_SANDBOXED == 0 void ReadFromFile(const std::string& filename); #endif
--- a/UnitTestsSources/MemoryCacheTests.cpp Sat Jun 29 10:35:58 2019 +0200 +++ b/UnitTestsSources/MemoryCacheTests.cpp Wed Jul 03 10:31:06 2019 +0200 @@ -35,6 +35,7 @@ #include "gtest/gtest.h" #include <memory> +#include <algorithm> #include <boost/thread.hpp> #include <boost/lexical_cast.hpp> @@ -170,6 +171,24 @@ ASSERT_TRUE(r.IsEmpty()); } +TEST(LRU, GetAllKeys) +{ + Orthanc::LeastRecentlyUsedIndex<std::string, int> r; + std::vector<std::string> keys; + + r.AddOrMakeMostRecent("a", 420); + r.GetAllKeys(keys); + + ASSERT_EQ(1, keys.size()); + ASSERT_EQ("a", keys[0]); + + r.AddOrMakeMostRecent("b", 421); + r.GetAllKeys(keys); + + ASSERT_EQ(2, keys.size()); + ASSERT_TRUE(std::find(keys.begin(), keys.end(),"a") != keys.end()); + ASSERT_TRUE(std::find(keys.begin(), keys.end(),"b") != keys.end()); +}