[glom] Add some move constructors and move assignment operators.



commit b8b3dd63908a18e24161d0f79f8a0eb4e2323230
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Jul 1 08:57:16 2015 +0200

    Add some move constructors and move assignment operators.
    
    These are the only ones that seem to be used.

 glom/libglom/data_structure/foundset.cc          |   18 +++++++++++++
 glom/libglom/data_structure/foundset.h           |    2 +
 glom/libglom/data_structure/groupinfo.cc         |   17 +++++++++++++
 glom/libglom/data_structure/groupinfo.h          |    2 +
 glom/libglom/data_structure/privileges.cc        |   20 ++++++++++++++-
 glom/libglom/data_structure/privileges.h         |    2 +
 glom/libglom/data_structure/system_prefs.cc      |   29 ++++++++++++++++++++++
 glom/libglom/data_structure/system_prefs.h       |    2 +
 glom/libglom/data_structure/translatable_item.cc |   18 +++++++++++++
 glom/libglom/data_structure/translatable_item.h  |    2 +
 10 files changed, 111 insertions(+), 1 deletions(-)
---
diff --git a/glom/libglom/data_structure/foundset.cc b/glom/libglom/data_structure/foundset.cc
index 031fa6b..c38bcbc 100644
--- a/glom/libglom/data_structure/foundset.cc
+++ b/glom/libglom/data_structure/foundset.cc
@@ -35,6 +35,14 @@ FoundSet::FoundSet(const FoundSet& src)
 {
 }
 
+FoundSet::FoundSet(FoundSet&& src)
+:  m_table_name(std::move(src.m_table_name)),
+   m_extra_join(std::move(src.m_extra_join)),
+   m_where_clause(std::move(src.m_where_clause)),
+   m_sort_clause(std::move(src.m_sort_clause))
+{
+}
+
 FoundSet& FoundSet::operator=(const FoundSet& src)
 {
   m_table_name = src.m_table_name;
@@ -45,4 +53,14 @@ FoundSet& FoundSet::operator=(const FoundSet& src)
   return *this;
 }
 
+FoundSet& FoundSet::operator=(FoundSet&& src)
+{
+  m_table_name = std::move(src.m_table_name);
+  m_extra_join = std::move(src.m_extra_join);
+  m_where_clause = std::move(src.m_where_clause);
+  m_sort_clause = std::move(src.m_sort_clause);
+
+  return *this;
+}
+
 } //namespace Glom
diff --git a/glom/libglom/data_structure/foundset.h b/glom/libglom/data_structure/foundset.h
index c3fb5c5..4400b98 100644
--- a/glom/libglom/data_structure/foundset.h
+++ b/glom/libglom/data_structure/foundset.h
@@ -39,7 +39,9 @@ class FoundSet
 public:
   FoundSet();
   FoundSet(const FoundSet& src);
+  FoundSet(FoundSet&& src);
   FoundSet& operator=(const FoundSet& src);
+  FoundSet& operator=(FoundSet&& src);
 
 private:
   //We cannot implement this without a way to compare GdaSqlExpr instances,
diff --git a/glom/libglom/data_structure/groupinfo.cc b/glom/libglom/data_structure/groupinfo.cc
index 8a846a4..dab5d62 100644
--- a/glom/libglom/data_structure/groupinfo.cc
+++ b/glom/libglom/data_structure/groupinfo.cc
@@ -35,6 +35,13 @@ GroupInfo::GroupInfo(const GroupInfo& src)
 {
 }
 
+GroupInfo::GroupInfo(GroupInfo&& src)
+: TranslatableItem(src),
+  m_developer(std::move(src.m_developer)),
+  m_map_privileges(std::move(src.m_map_privileges))
+{
+}
+
 GroupInfo::~GroupInfo()
 {
 }
@@ -49,6 +56,16 @@ GroupInfo& GroupInfo::operator=(const GroupInfo& src)
   return *this;
 }
 
+GroupInfo& GroupInfo::operator=(GroupInfo&& src)
+{
+  TranslatableItem::operator=(src);
+
+  m_developer = std::move(src.m_developer);
+  m_map_privileges = std::move(src.m_map_privileges);
+
+  return *this;
+}
+
 bool GroupInfo::operator==(const GroupInfo& src) const
 {
   return TranslatableItem::operator==(src) &&
diff --git a/glom/libglom/data_structure/groupinfo.h b/glom/libglom/data_structure/groupinfo.h
index fd36069..e47611e 100644
--- a/glom/libglom/data_structure/groupinfo.h
+++ b/glom/libglom/data_structure/groupinfo.h
@@ -33,9 +33,11 @@ class GroupInfo : public TranslatableItem
 public:
   GroupInfo();
   GroupInfo(const GroupInfo& src);
+  GroupInfo(GroupInfo&& src);
   virtual ~GroupInfo();
 
   GroupInfo& operator=(const GroupInfo& src);
+  GroupInfo& operator=(GroupInfo&& src);
 
   bool operator==(const GroupInfo& src) const;
   bool operator!=(const GroupInfo& src) const;
diff --git a/glom/libglom/data_structure/privileges.cc b/glom/libglom/data_structure/privileges.cc
index 40c3e2c..54cf0a4 100644
--- a/glom/libglom/data_structure/privileges.cc
+++ b/glom/libglom/data_structure/privileges.cc
@@ -36,6 +36,14 @@ Privileges::Privileges(const Privileges& src)
   operator=(src);
 }
 
+Privileges::Privileges(Privileges&& src)
+: m_view(std::move(src.m_view)),
+  m_edit(std::move(src.m_edit)),
+  m_create(std::move(src.m_create)),
+  m_delete(std::move(src.m_delete))
+{
+}
+
 Privileges::~Privileges()
 {
 }
@@ -43,13 +51,23 @@ Privileges::~Privileges()
 Privileges& Privileges::operator=(const Privileges& src)
 {
   m_view = src.m_view;
-  m_edit = src.m_edit;  
+  m_edit = src.m_edit;
   m_create = src.m_create;
   m_delete = src.m_delete;
 
   return *this;
 }
 
+Privileges& Privileges::operator=(Privileges&& src)
+{
+  m_view = std::move(src.m_view);
+  m_edit = std::move(src.m_edit);
+  m_create = std::move(src.m_create);
+  m_delete = std::move(src.m_delete);
+
+  return *this;
+}
+
 bool Privileges::operator==(const Privileges& src) const
 {
   return (m_view == src.m_view)
diff --git a/glom/libglom/data_structure/privileges.h b/glom/libglom/data_structure/privileges.h
index 02a06cc..9f61492 100644
--- a/glom/libglom/data_structure/privileges.h
+++ b/glom/libglom/data_structure/privileges.h
@@ -34,9 +34,11 @@ class Privileges
 public: 
   Privileges();
   Privileges(const Privileges& src);
+  Privileges(Privileges&& src);
   virtual ~Privileges();
 
   Privileges& operator=(const Privileges& src);
+  Privileges& operator=(Privileges&& src);
 
   bool operator==(const Privileges& src) const;
 
diff --git a/glom/libglom/data_structure/system_prefs.cc b/glom/libglom/data_structure/system_prefs.cc
index 4db5c5f..f8be6ba 100644
--- a/glom/libglom/data_structure/system_prefs.cc
+++ b/glom/libglom/data_structure/system_prefs.cc
@@ -40,6 +40,19 @@ SystemPrefs::SystemPrefs(const SystemPrefs& src)
 {
 }
 
+SystemPrefs::SystemPrefs(SystemPrefs&& src)
+: m_name(std::move(src.m_name)),
+  m_org_name(std::move(src.m_org_name)),
+  m_org_address_street(std::move(src.m_org_address_street)),
+  m_org_address_street2(std::move(src.m_org_address_street2)),
+  m_org_address_town(std::move(src.m_org_address_town)),
+  m_org_address_county(std::move(src.m_org_address_county)),
+  m_org_address_country(std::move(src.m_org_address_country)),
+  m_org_address_postcode(std::move(src.m_org_address_postcode)),
+  m_org_logo(std::move(src.m_org_logo))
+{
+}
+
 SystemPrefs& SystemPrefs::operator=(const SystemPrefs& src)
 {
   m_name = src.m_name;
@@ -55,6 +68,22 @@ SystemPrefs& SystemPrefs::operator=(const SystemPrefs& src)
   return *this;
 }
 
+SystemPrefs& SystemPrefs::operator=(SystemPrefs&& src)
+{
+  m_name = std::move(src.m_name);
+  m_org_name = std::move(src.m_org_name);
+  m_org_address_street = std::move(src.m_org_address_street);
+  m_org_address_street2 = std::move(src.m_org_address_street2);
+  m_org_address_town = std::move(src.m_org_address_town);
+  m_org_address_county = std::move(src.m_org_address_county);
+  m_org_address_country = std::move(src.m_org_address_country);
+  m_org_address_postcode = std::move(src.m_org_address_postcode);
+  m_org_logo = std::move(src.m_org_logo);
+
+  return *this;
+}
+
+
 bool SystemPrefs::operator==(const SystemPrefs& src) const
 {
   return (m_name == src.m_name) &&
diff --git a/glom/libglom/data_structure/system_prefs.h b/glom/libglom/data_structure/system_prefs.h
index 748f5e4..b12b351 100644
--- a/glom/libglom/data_structure/system_prefs.h
+++ b/glom/libglom/data_structure/system_prefs.h
@@ -32,8 +32,10 @@ class SystemPrefs
 public:
   SystemPrefs();
   SystemPrefs(const SystemPrefs& src);
+  SystemPrefs(SystemPrefs&& src);
 
   SystemPrefs& operator=(const SystemPrefs& src);
+  SystemPrefs& operator=(SystemPrefs&& src);
 
   bool operator==(const SystemPrefs& src) const;
   bool operator!=(const SystemPrefs& src) const;
diff --git a/glom/libglom/data_structure/translatable_item.cc 
b/glom/libglom/data_structure/translatable_item.cc
index 16435a2..c48d89a 100644
--- a/glom/libglom/data_structure/translatable_item.cc
+++ b/glom/libglom/data_structure/translatable_item.cc
@@ -39,6 +39,14 @@ TranslatableItem::TranslatableItem(const TranslatableItem& src)
 {
 }
 
+TranslatableItem::TranslatableItem(TranslatableItem&& src)
+: m_translatable_item_type(std::move(src.m_translatable_item_type)),
+  m_name(std::move(src.m_name)),
+  m_title(std::move(src.m_title)),
+  m_map_translations(std::move(src.m_map_translations))
+{
+}
+
 TranslatableItem::~TranslatableItem()
 {
 }
@@ -53,6 +61,16 @@ TranslatableItem& TranslatableItem::operator=(const TranslatableItem& src)
   return *this;
 }
 
+TranslatableItem& TranslatableItem::operator=(TranslatableItem&& src)
+{
+  m_name = std::move(src.m_name);
+  m_title = std::move(src.m_title);
+  m_translatable_item_type = std::move(src.m_translatable_item_type);
+  m_map_translations = std::move(src.m_map_translations);
+
+  return *this;
+}
+
 bool TranslatableItem::operator==(const TranslatableItem& src) const
 {
   bool bResult = (m_name == src.m_name)
diff --git a/glom/libglom/data_structure/translatable_item.h b/glom/libglom/data_structure/translatable_item.h
index 8ae9159..490e50a 100644
--- a/glom/libglom/data_structure/translatable_item.h
+++ b/glom/libglom/data_structure/translatable_item.h
@@ -34,9 +34,11 @@ class TranslatableItem
 public:
   TranslatableItem();
   TranslatableItem(const TranslatableItem& src);
+  TranslatableItem(TranslatableItem&& src);
   virtual ~TranslatableItem();
 
   TranslatableItem& operator=(const TranslatableItem& src);
+  TranslatableItem& operator=(TranslatableItem&& src);
 
   bool operator==(const TranslatableItem& src) const;
   bool operator!=(const TranslatableItem& src) const;


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