[glom] Add some move constructors and move assignment operators.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom] Add some move constructors and move assignment operators.
- Date: Wed, 1 Jul 2015 10:16:16 +0000 (UTC)
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]