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