[gnote] Return containers from map helpers



commit 5201a5a44a8477a80cadd98b1c00446f2734c3c0
Author: Aurimas Černius <aurisc4 gmail com>
Date:   Sat Apr 13 20:29:09 2019 +0300

    Return containers from map helpers

 src/addinmanager.cpp |  6 +++---
 src/notebase.cpp     |  4 +---
 src/sharp/map.hpp    | 12 ++++++++----
 src/tag.cpp          |  3 +--
 src/tagmanager.cpp   |  3 +--
 5 files changed, 14 insertions(+), 14 deletions(-)
---
diff --git a/src/addinmanager.cpp b/src/addinmanager.cpp
index 9d8ccac7..290ce29e 100644
--- a/src/addinmanager.cpp
+++ b/src/addinmanager.cpp
@@ -415,19 +415,19 @@ namespace {
 
   void AddinManager::get_preference_tab_addins(std::vector<PreferenceTabAddin *> &l) const
   {
-    sharp::map_get_values(m_pref_tab_addins, l);
+    l = sharp::map_get_values(m_pref_tab_addins);
   }
 
 
   void AddinManager::get_sync_service_addins(std::vector<sync::SyncServiceAddin *> &l) const
   {
-    sharp::map_get_values(m_sync_service_addins, l);
+    l = sharp::map_get_values(m_sync_service_addins);
   }
 
 
   void AddinManager::get_import_addins(std::vector<ImportAddin*> & l) const
   {
-    sharp::map_get_values(m_import_addins, l);
+    l = sharp::map_get_values(m_import_addins);
   }
 
   void AddinManager::initialize_application_addins() const
diff --git a/src/notebase.cpp b/src/notebase.cpp
index 0a530af8..89331313 100644
--- a/src/notebase.cpp
+++ b/src/notebase.cpp
@@ -370,9 +370,7 @@ void NoteBase::load_foreign_note_xml(const Glib::ustring & foreignNoteXml, Chang
 
 std::vector<Tag::Ptr> NoteBase::get_tags() const
 {
-  std::vector<Tag::Ptr> l;
-  sharp::map_get_values(data_synchronizer().data().tags(), l);
-  return l;
+  return sharp::map_get_values(data_synchronizer().data().tags());
 }
 
 const NoteData & NoteBase::data() const
diff --git a/src/sharp/map.hpp b/src/sharp/map.hpp
index e21883d2..c7bf0e5d 100644
--- a/src/sharp/map.hpp
+++ b/src/sharp/map.hpp
@@ -35,25 +35,29 @@ namespace sharp {
 
   /** get all the keys from the map. */
   template <typename _Map>
-  void map_get_keys(const _Map & m, std::vector<typename _Map::mapped_type> & l) 
+  std::vector<typename _Map::mapped_type> map_get_keys(const _Map & m)
   {
-    l.clear();
+    std::vector<typename _Map::mapped_type> l;
     for(typename _Map::const_iterator iter = m.begin();
         iter != m.end(); ++iter) {
       l.push_back(iter->first);
     }
+
+    return l;
   }
 
 
   /** get all the mapped elements from the map. */
   template <typename _Map>
-  void map_get_values(const _Map & m, std::vector<typename _Map::mapped_type> & l)
+  std::vector<typename _Map::mapped_type> map_get_values(const _Map & m)
   {
-    l.clear();
+    std::vector<typename _Map::mapped_type> l;
     for(typename _Map::const_iterator iter = m.begin();
         iter != m.end(); ++iter) {
       l.push_back(iter->second);
     }
+
+    return l;
   }
 
 
diff --git a/src/tag.cpp b/src/tag.cpp
index 46c4604a..bfae9227 100644
--- a/src/tag.cpp
+++ b/src/tag.cpp
@@ -78,8 +78,7 @@ namespace gnote {
 
   void Tag::get_notes(std::list<NoteBase*> & l) const
   {
-    std::vector<NoteBase*> notes;
-    sharp::map_get_values(m_notes, notes);
+    std::vector<NoteBase*> notes = sharp::map_get_values(m_notes);
     l.insert(l.end(), notes.begin(), notes.end());
   }
 
diff --git a/src/tagmanager.cpp b/src/tagmanager.cpp
index 77f35f9a..e27771c4 100644
--- a/src/tagmanager.cpp
+++ b/src/tagmanager.cpp
@@ -224,8 +224,7 @@ namespace gnote {
   void TagManager::all_tags(std::list<Tag::Ptr> & tags) const
   {
     // Add in the system tags first
-    std::vector<Tag::Ptr> tmp;
-    sharp::map_get_values(m_internal_tags, tmp);
+    std::vector<Tag::Ptr> tmp = sharp::map_get_values(m_internal_tags);
     tags.insert(tags.end(), tmp.begin(), tmp.end());
     
     // Now all the other tags


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