[glom] lambdas: Capture by reference.



commit 642022aa5d2766d4ce002ea4fe7747db4b98078d
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Aug 24 00:11:28 2015 +0200

    lambdas: Capture by reference.
    
    In these cases, the lifetimes of the captured variables are appropriate.

 glom/base_db.cc                                    |    2 +-
 glom/import_csv/file_encodings.cc                  |    2 +-
 glom/libglom/data_structure/field.h                |    2 +-
 .../data_structure/layout/layoutitem_field.h       |    2 +-
 glom/libglom/document/document.cc                  |    4 ++--
 glom/libglom/utils.cc                              |    2 +-
 tests/test_document_load.cc                        |    2 +-
 tests/test_document_load_and_change.cc             |    2 +-
 tests/test_document_load_translations.cc           |    2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)
---
diff --git a/glom/base_db.cc b/glom/base_db.cc
index a2b023c..d48b208 100644
--- a/glom/base_db.cc
+++ b/glom/base_db.cc
@@ -64,7 +64,7 @@ template
 auto find_if_layout_item_is_equal(T_Container& container, const typename T_Container::value_type& 
layout_item) -> decltype(container.begin())
 {
   return std::find_if(container.begin(), container.end(),
-    [layout_item](const typename T_Container::value_type& element)
+    [&layout_item](const typename T_Container::value_type& element)
     {
       //Assume that element is a shared_ptr<>.
 
diff --git a/glom/import_csv/file_encodings.cc b/glom/import_csv/file_encodings.cc
index d079f93..6c8ca5d 100644
--- a/glom/import_csv/file_encodings.cc
+++ b/glom/import_csv/file_encodings.cc
@@ -110,7 +110,7 @@ Glib::ustring get_name_of_charset(const Glib::ustring& charset)
 
   type_list_encodings::const_iterator iter = 
     std::find_if(list_encodings.begin(), list_encodings.end(),
-      [charset](const Encoding& encoding) {
+      [&charset] (const Encoding& encoding) {
         return encoding.get_charset() == charset;
     }
   );
diff --git a/glom/libglom/data_structure/field.h b/glom/libglom/data_structure/field.h
index 7316898..d966ff5 100644
--- a/glom/libglom/data_structure/field.h
+++ b/glom/libglom/data_structure/field.h
@@ -40,7 +40,7 @@ template
 auto find_if_same_name(T_Container& container, const Glib::ustring& name) -> decltype(container.begin())
 {
   return std::find_if(container.begin(), container.end(),
-    [name](const typename T_Container::value_type& element)
+    [&name](const typename T_Container::value_type& element)
     {
       //Assume that element is a shared_ptr<>.
       return element->get_name() == name;
diff --git a/glom/libglom/data_structure/layout/layoutitem_field.h 
b/glom/libglom/data_structure/layout/layoutitem_field.h
index 777c535..82651d2 100644
--- a/glom/libglom/data_structure/layout/layoutitem_field.h
+++ b/glom/libglom/data_structure/layout/layoutitem_field.h
@@ -169,7 +169,7 @@ template
 auto find_if_layout_item_field_is_same_field(T_Container& container, const std::shared_ptr<const 
LayoutItem_Field>& layout_item) -> decltype(container.begin())
 {
   return std::find_if(container.begin(), container.end(),
-    [layout_item](const typename T_Container::value_type& element)
+    [&layout_item](const typename T_Container::value_type& element)
     {
       //Assume that element is a shared_ptr<>.
 
diff --git a/glom/libglom/document/document.cc b/glom/libglom/document/document.cc
index 78d651a..deeee07 100644
--- a/glom/libglom/document/document.cc
+++ b/glom/libglom/document/document.cc
@@ -258,7 +258,7 @@ template
 auto find_if_layout(T_Container& container, const Glib::ustring& layout_name, const Glib::ustring& 
layout_platform) -> decltype(container.begin())
 {
   return std::find_if(container.begin(), container.end(),
-    [layout_name, layout_platform](const typename T_Container::value_type& element)
+    [&layout_name, &layout_platform](const typename T_Container::value_type& element)
     {
       return (element.m_layout_name == layout_name) &&
         (element.m_layout_platform == layout_platform);
@@ -4307,7 +4307,7 @@ template
 auto find_if_item_and_hint_equal(T_Container& container, const Document::pair_translatable_item_and_hint& 
item_and_hint) -> decltype(container.begin())
 {
   return std::find_if(container.begin(), container.end(),
-    [item_and_hint](const typename T_Container::value_type& element)
+    [&item_and_hint](const typename T_Container::value_type& element)
     {
       if(!element.first && item_and_hint.first)
         return true;
diff --git a/glom/libglom/utils.cc b/glom/libglom/utils.cc
index 7b74ede..ef92350 100644
--- a/glom/libglom/utils.cc
+++ b/glom/libglom/utils.cc
@@ -63,7 +63,7 @@ auto find_if_uses_relationship_has_relationship(T_Container& container, const st
     related_relationship_name = Glib::ustring();
 
   return std::find_if(container.begin(), container.end(),
-    [relationship_name, related_relationship_name](const typename T_Container::value_type& element)
+    [&relationship_name, &related_relationship_name](const typename T_Container::value_type& element)
     {
       //Assume that element is a shared_ptr<>.
 
diff --git a/tests/test_document_load.cc b/tests/test_document_load.cc
index fd4287f..b01390f 100644
--- a/tests/test_document_load.cc
+++ b/tests/test_document_load.cc
@@ -61,7 +61,7 @@ static bool get_group_named(const Glom::Document::type_list_groups& container, c
 {
   Glom::Document::type_list_groups::const_iterator iter =
     std::find_if(container.begin(), container.end(),
-      [name] (const Glom::GroupInfo& info)
+      [&name] (const Glom::GroupInfo& info)
       {
         return info.get_name() == name;
       }
diff --git a/tests/test_document_load_and_change.cc b/tests/test_document_load_and_change.cc
index 48504a8..303613a 100644
--- a/tests/test_document_load_and_change.cc
+++ b/tests/test_document_load_and_change.cc
@@ -49,7 +49,7 @@ static bool groups_contain_named(const Glom::Document::type_list_groups& contain
 {
   Glom::Document::type_list_groups::const_iterator iter =
     std::find_if(container.begin(), container.end(),
-      [name] (const Glom::GroupInfo& info)
+      [&name] (const Glom::GroupInfo& info)
       {
         return info.get_name() == name;
       }
diff --git a/tests/test_document_load_translations.cc b/tests/test_document_load_translations.cc
index a1ae6a2..7187915 100644
--- a/tests/test_document_load_translations.cc
+++ b/tests/test_document_load_translations.cc
@@ -46,7 +46,7 @@ typename T_Container::value_type get_titled(const T_Container& container, const
 
   typename T_Container::const_iterator iter =
     std::find_if(container.begin(), container.end(),
-      [title] (const typename T_Container::value_type& element)
+      [&title] (const typename T_Container::value_type& element)
       {
         return (element && element->get_title_original() == title);
       }


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