# HG changeset patch # User Alain Mazy # Date 1562142666 -7200 # Node ID 9ea218c90057c6b1226c3884232682a1e4ca0335 # Parent ca3ac0f210d64f2af04dce672620ccd1c2159e9b# Parent 0013818bf6d4cfa6b43733b1d4720e66d8f21984 merge diff -r 0013818bf6d4 -r 9ea218c90057 Core/Cache/LeastRecentlyUsedIndex.h --- 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 #include +#include #include #include @@ -151,6 +152,17 @@ const T& GetOldest() const; const Payload& GetOldestPayload() const; + + void GetAllKeys(std::vector& keys) const + { + keys.clear(); + keys.reserve(GetSize()); + for (typename Index::const_iterator it = index_.begin(); it != index_.end(); it++) + { + keys.push_back(it->first); + } + } + }; diff -r 0013818bf6d4 -r 9ea218c90057 Core/Images/PamReader.h --- 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 diff -r 0013818bf6d4 -r 9ea218c90057 UnitTestsSources/MemoryCacheTests.cpp --- 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 +#include #include #include @@ -170,6 +171,24 @@ ASSERT_TRUE(r.IsEmpty()); } +TEST(LRU, GetAllKeys) +{ + Orthanc::LeastRecentlyUsedIndex r; + std::vector 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()); +}