[gnote] More std::list removal



commit e7da38647fe4e1c7d76ac17b41b98375441ab388
Author: Aurimas Černius <aurisc4 gmail com>
Date:   Sat Apr 13 20:21:38 2019 +0300

    More std::list removal

 src/addinmanager.cpp                |  6 +++---
 src/addinmanager.hpp                |  7 +++----
 src/notebase.cpp                    |  4 ++--
 src/notemanager.cpp                 | 16 +++++++---------
 src/preferencesdialog.cpp           | 33 +++++++++++++++------------------
 src/sharp/map.hpp                   |  6 +++---
 src/synchronization/syncmanager.cpp |  8 ++++----
 src/tag.cpp                         |  6 ++++--
 src/tagmanager.cpp                  |  4 +++-
 9 files changed, 44 insertions(+), 46 deletions(-)
---
diff --git a/src/addinmanager.cpp b/src/addinmanager.cpp
index 3c953e48..9d8ccac7 100644
--- a/src/addinmanager.cpp
+++ b/src/addinmanager.cpp
@@ -413,19 +413,19 @@ namespace {
     return NULL;
   }
 
-  void AddinManager::get_preference_tab_addins(std::list<PreferenceTabAddin *> &l) const
+  void AddinManager::get_preference_tab_addins(std::vector<PreferenceTabAddin *> &l) const
   {
     sharp::map_get_values(m_pref_tab_addins, l);
   }
 
 
-  void AddinManager::get_sync_service_addins(std::list<sync::SyncServiceAddin *> &l) const
+  void AddinManager::get_sync_service_addins(std::vector<sync::SyncServiceAddin *> &l) const
   {
     sharp::map_get_values(m_sync_service_addins, l);
   }
 
 
-  void AddinManager::get_import_addins(std::list<ImportAddin*> & l) const
+  void AddinManager::get_import_addins(std::vector<ImportAddin*> & l) const
   {
     sharp::map_get_values(m_import_addins, l);
   }
diff --git a/src/addinmanager.hpp b/src/addinmanager.hpp
index 54b9ba34..77ad68ba 100644
--- a/src/addinmanager.hpp
+++ b/src/addinmanager.hpp
@@ -23,7 +23,6 @@
 #ifndef __ADDINMANAGER_HPP__
 #define __ADDINMANAGER_HPP__
 
-#include <list>
 #include <map>
 
 #include <sigc++/signal.h>
@@ -67,9 +66,9 @@ public:
   std::vector<NoteAddin*> get_note_addins(const Note::Ptr &) const;
   ApplicationAddin *get_application_addin(const Glib::ustring & id) const;
   sync::SyncServiceAddin *get_sync_service_addin(const Glib::ustring & id) const;
-  void get_preference_tab_addins(std::list<PreferenceTabAddin *> &) const;
-  void get_sync_service_addins(std::list<sync::SyncServiceAddin *> &) const;
-  void get_import_addins(std::list<ImportAddin*> &) const;
+  void get_preference_tab_addins(std::vector<PreferenceTabAddin *> &) const;
+  void get_sync_service_addins(std::vector<sync::SyncServiceAddin *> &) const;
+  void get_import_addins(std::vector<ImportAddin*> &) const;
   void initialize_application_addins() const;
   void initialize_sync_service_addins() const;
   void shutdown_application_addins() const;
diff --git a/src/notebase.cpp b/src/notebase.cpp
index 63adf163..0a530af8 100644
--- a/src/notebase.cpp
+++ b/src/notebase.cpp
@@ -370,9 +370,9 @@ void NoteBase::load_foreign_note_xml(const Glib::ustring & foreignNoteXml, Chang
 
 std::vector<Tag::Ptr> NoteBase::get_tags() const
 {
-  std::list<Tag::Ptr> l;
+  std::vector<Tag::Ptr> l;
   sharp::map_get_values(data_synchronizer().data().tags(), l);
-  return std::vector<Tag::Ptr>(l.begin(), l.end());
+  return l;
 }
 
 const NoteData & NoteBase::data() const
diff --git a/src/notemanager.cpp b/src/notemanager.cpp
index 53b1d359..5257e43f 100644
--- a/src/notemanager.cpp
+++ b/src/notemanager.cpp
@@ -65,7 +65,7 @@ namespace gnote {
     m_addin_mgr = create_addin_manager ();
 
     if (is_first_run) {
-      std::list<ImportAddin*> l;
+      std::vector<ImportAddin*> l;
       m_addin_mgr->get_import_addins(l);
       bool has_imported = false;
 
@@ -73,17 +73,15 @@ namespace gnote {
         DBG_OUT("no import plugins");
       }
 
-      for(std::list<ImportAddin*>::iterator iter = l.begin();
-          iter != l.end(); ++iter) {
-
+      for(auto import_addin : l) {
         DBG_OUT("importing");
-        (*iter)->initialize();
-        if((*iter)->want_to_run(*this)) {
-          has_imported |= (*iter)->first_run(*this);
+        import_addin->initialize();
+        if(import_addin->want_to_run(*this)) {
+          has_imported |= import_addin->first_run(*this);
         }
-        AddinInfo addin_info = m_addin_mgr->get_addin_info(**iter);
+        AddinInfo addin_info = m_addin_mgr->get_addin_info(*import_addin);
         if(addin_info.get_attribute("AutoDisable") == "true") {
-          (*iter)->shutdown();
+          import_addin->shutdown();
           m_addin_mgr->get_module(addin_info.id())->enabled(false);
         }
       }
diff --git a/src/preferencesdialog.cpp b/src/preferencesdialog.cpp
index 79f23b6a..e084e210 100644
--- a/src/preferencesdialog.cpp
+++ b/src/preferencesdialog.cpp
@@ -125,11 +125,9 @@ namespace gnote {
                            _("Plugins"));
 
       // TODO: Figure out a way to have these be placed in a specific order
-    std::list<PreferenceTabAddin *> tabAddins;
+    std::vector<PreferenceTabAddin *> tabAddins;
     m_addin_manager.get_preference_tab_addins(tabAddins);
-    for(std::list<PreferenceTabAddin *>::const_iterator iter = tabAddins.begin();
-          iter != tabAddins.end(); ++iter) {
-      PreferenceTabAddin *tabAddin = *iter;
+    for(auto tabAddin : tabAddins) {
       DBG_OUT("Adding preference tab addin: %s", 
               typeid(*tabAddin).name());
         try {
@@ -433,14 +431,14 @@ namespace gnote {
 
     // Populate the store with all the available SyncServiceAddins
     m_sync_addin_store = Gtk::ListStore::create(m_sync_addin_store_record);
-    std::list<sync::SyncServiceAddin*> addins;
+    std::vector<sync::SyncServiceAddin*> addins;
     m_addin_manager.get_sync_service_addins(addins);
-    addins.sort(CompareSyncAddinsByName());
-    for(std::list<sync::SyncServiceAddin*>::iterator addin = addins.begin(); addin != addins.end(); ++addin) 
{
-      if((*addin)->initialized()) {
+    std::sort(addins.begin(), addins.end(), CompareSyncAddinsByName());
+    for(auto addin : addins) {
+      if(addin->initialized()) {
        Gtk::TreeIter iter = m_sync_addin_store->append();
-       iter->set_value(0, (*addin));
-       m_sync_addin_iters[(*addin)->id()] = iter;
+       iter->set_value(0, addin);
+       m_sync_addin_iters[addin->id()] = iter;
       }
     }
 
@@ -1345,9 +1343,9 @@ namespace gnote {
 
   void PreferencesDialog::update_sync_services()
   {
-    std::list<sync::SyncServiceAddin*> new_addins;
+    std::vector<sync::SyncServiceAddin*> new_addins;
     m_addin_manager.get_sync_service_addins(new_addins);
-    std::list<sync::SyncServiceAddin*>::iterator remove_iter = new_addins.begin();
+    auto remove_iter = new_addins.begin();
     while(remove_iter != new_addins.end()) {
       if(!(*remove_iter)->initialized()) {
         remove_iter = new_addins.erase(remove_iter);
@@ -1356,7 +1354,7 @@ namespace gnote {
         ++remove_iter;
       }
     }
-    new_addins.sort(CompareSyncAddinsByName());
+    std::sort(new_addins.begin(), new_addins.end(), CompareSyncAddinsByName());
 
     // Build easier-to-navigate list if addins currently in the combo
     std::list<sync::SyncServiceAddin*> current_addins;
@@ -1371,12 +1369,11 @@ namespace gnote {
 
     // Add new addins
     // TODO: Would be nice to insert these alphabetically instead
-    for(std::list<sync::SyncServiceAddin*>::iterator iter = new_addins.begin();
-        iter != new_addins.end(); ++iter) {
-      if(std::find(current_addins.begin(), current_addins.end(), *iter) == current_addins.end()) {
+    for(auto addin : new_addins) {
+      if(std::find(current_addins.begin(), current_addins.end(), addin) == current_addins.end()) {
        Gtk::TreeIter iterator = m_sync_addin_store->append();
-       iterator->set_value(0, *iter);
-       m_sync_addin_iters[(*iter)->id()] = iterator;
+       iterator->set_value(0, addin);
+       m_sync_addin_iters[addin->id()] = iterator;
       }
     }
 
diff --git a/src/sharp/map.hpp b/src/sharp/map.hpp
index 97ad87bd..e21883d2 100644
--- a/src/sharp/map.hpp
+++ b/src/sharp/map.hpp
@@ -1,6 +1,7 @@
 /*
  * gnote
  *
+ * Copyright (C) 2019 Aurimas Cernius
  * Copyright (C) 2009 Hubert Figuiere
  * 
  * Permission is hereby granted, free of charge, to any person obtaining a
@@ -27,9 +28,8 @@
 #ifndef __SHARP_MAP_HPP_
 #define __SHARP_MAP_HPP_
 
-#include <list>
-#include <vector>
 #include <map>
+#include <vector>
 
 namespace sharp {
 
@@ -47,7 +47,7 @@ namespace sharp {
 
   /** get all the mapped elements from the map. */
   template <typename _Map>
-  void map_get_values(const _Map & m, std::list<typename _Map::mapped_type> & l) 
+  void map_get_values(const _Map & m, std::vector<typename _Map::mapped_type> & l)
   {
     l.clear();
     for(typename _Map::const_iterator iter = m.begin();
diff --git a/src/synchronization/syncmanager.cpp b/src/synchronization/syncmanager.cpp
index 63e773e1..655fb523 100644
--- a/src/synchronization/syncmanager.cpp
+++ b/src/synchronization/syncmanager.cpp
@@ -556,11 +556,11 @@ namespace sync {
 
     try {
       NoteManager & manager(dynamic_cast<NoteManager&>(m_note_manager));
-      std::list<SyncServiceAddin*> addins;
+      std::vector<SyncServiceAddin*> addins;
       manager.get_addin_manager().get_sync_service_addins(addins);
-      for(std::list<SyncServiceAddin*>::iterator iter = addins.begin(); iter != addins.end(); ++iter) {
-        if((*iter)->id() == sync_service_id) {
-          addin = *iter;
+      for(auto iter : addins) {
+        if(iter->id() == sync_service_id) {
+          addin = iter;
           break;
         }
       }
diff --git a/src/tag.cpp b/src/tag.cpp
index 39f047da..46c4604a 100644
--- a/src/tag.cpp
+++ b/src/tag.cpp
@@ -1,7 +1,7 @@
 /*
  * gnote
  *
- * Copyright (C) 2014,2017 Aurimas Cernius
+ * Copyright (C) 2014,2017,2019 Aurimas Cernius
  * Copyright (C) 2010 Debarshi Ray
  * Copyright (C) 2009 Hubert Figuiere
  *
@@ -78,7 +78,9 @@ namespace gnote {
 
   void Tag::get_notes(std::list<NoteBase*> & l) const
   {
-    sharp::map_get_values(m_notes, l);
+    std::vector<NoteBase*> notes;
+    sharp::map_get_values(m_notes, notes);
+    l.insert(l.end(), notes.begin(), notes.end());
   }
 
 
diff --git a/src/tagmanager.cpp b/src/tagmanager.cpp
index b110ddd1..77f35f9a 100644
--- a/src/tagmanager.cpp
+++ b/src/tagmanager.cpp
@@ -224,7 +224,9 @@ namespace gnote {
   void TagManager::all_tags(std::list<Tag::Ptr> & tags) const
   {
     // Add in the system tags first
-    sharp::map_get_values(m_internal_tags, tags);
+    std::vector<Tag::Ptr> tmp;
+    sharp::map_get_values(m_internal_tags, tmp);
+    tags.insert(tags.end(), tmp.begin(), tmp.end());
     
     // Now all the other tags
     for(TagMap::const_iterator iter = m_tag_map.begin();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]