From 860cdc0056510fca82610d906ff5ebea74630bbb Mon Sep 17 00:00:00 2001 From: Steven Murray <Steven.Murray@cern.ch> Date: Mon, 11 Feb 2019 22:11:29 +0100 Subject: [PATCH] ArchiveFileItor::next() is no longer const. Woah! Got carried away with const. This commit Removes the const qualifier from the ArchiveFileItor::next() method because next() modifies the iterator. To loop through an ArchiveFileItor: auto itor = catalogue.getArchiveFilesForRepackItor(vid, startFSeq); while(itor.hasMore()) { const auto archiveFile = itor.next(); // Do something with archiveFile } --- catalogue/ArchiveFileItor.cpp | 2 +- catalogue/ArchiveFileItor.hpp | 2 +- catalogue/CatalogueTest.cpp | 4 ++-- catalogue/CatalogueTest.hpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/catalogue/ArchiveFileItor.cpp b/catalogue/ArchiveFileItor.cpp index ebbf900dab..a46e21173e 100644 --- a/catalogue/ArchiveFileItor.cpp +++ b/catalogue/ArchiveFileItor.cpp @@ -78,7 +78,7 @@ bool ArchiveFileItor::hasMore() const { //------------------------------------------------------------------------------ // next //------------------------------------------------------------------------------ -common::dataStructures::ArchiveFile ArchiveFileItor::next() const { +common::dataStructures::ArchiveFile ArchiveFileItor::next() { if(nullptr == m_impl) { throw exception::Exception(std::string(__FUNCTION__) + " failed: " "This iterator is invalid"); diff --git a/catalogue/ArchiveFileItor.hpp b/catalogue/ArchiveFileItor.hpp index ca58f61919..74d19e6583 100644 --- a/catalogue/ArchiveFileItor.hpp +++ b/catalogue/ArchiveFileItor.hpp @@ -89,7 +89,7 @@ public: /** * Returns the next archive or throws an exception if there isn't one. */ - common::dataStructures::ArchiveFile next() const; + common::dataStructures::ArchiveFile next(); private: diff --git a/catalogue/CatalogueTest.cpp b/catalogue/CatalogueTest.cpp index a048fac061..052b08f32a 100644 --- a/catalogue/CatalogueTest.cpp +++ b/catalogue/CatalogueTest.cpp @@ -194,7 +194,7 @@ std::map<std::string, cta::common::dataStructures::Tape> cta_catalogue_Catalogue // archiveFileItorToMap //------------------------------------------------------------------------------ std::map<uint64_t, cta::common::dataStructures::ArchiveFile> cta_catalogue_CatalogueTest::archiveFileItorToMap( - const cta::catalogue::ArchiveFileItor &itor) { + cta::catalogue::ArchiveFileItor &itor) { using namespace cta; try { @@ -7509,7 +7509,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) { { const uint64_t startFseq = 1; - const auto archiveFileItor = m_catalogue->getArchiveFilesForRepackItor(vid1, startFseq); + auto archiveFileItor = m_catalogue->getArchiveFilesForRepackItor(vid1, startFseq); const auto m = archiveFileItorToMap(archiveFileItor); ASSERT_EQ(nbArchiveFiles, m.size()); diff --git a/catalogue/CatalogueTest.hpp b/catalogue/CatalogueTest.hpp index 6deed171a7..20e3b3a5e5 100644 --- a/catalogue/CatalogueTest.hpp +++ b/catalogue/CatalogueTest.hpp @@ -63,7 +63,7 @@ protected: * @return Map from archive file ID to archive file. */ std::map<uint64_t, cta::common::dataStructures::ArchiveFile> archiveFileItorToMap( - const cta::catalogue::ArchiveFileItor &itor); + cta::catalogue::ArchiveFileItor &itor); /** * Creates a map from archive file ID to archive file from the specified -- GitLab