aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/ivigenerator/templates_frontend/struct.cpp.tpl
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/ivigenerator/templates_frontend/struct.cpp.tpl')
-rw-r--r--src/tools/ivigenerator/templates_frontend/struct.cpp.tpl31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/tools/ivigenerator/templates_frontend/struct.cpp.tpl b/src/tools/ivigenerator/templates_frontend/struct.cpp.tpl
index d1134a4..ca0c7f8 100644
--- a/src/tools/ivigenerator/templates_frontend/struct.cpp.tpl
+++ b/src/tools/ivigenerator/templates_frontend/struct.cpp.tpl
@@ -93,4 +93,35 @@ void {{class}}::set{{field|upperfirst}}({{ field|parameter_type }})
{% endfor %}
+bool operator==(const {{class}} &left, const {{class}} &right) Q_DECL_NOTHROW
+{
+ return (
+{% for field in struct.fields %}
+ left.{{field}}() == right.{{field}}() {% if not loop.last %}&&{% endif %}
+
+{% endfor %}
+ );
+}
+
+bool operator!=(const {{class}} &left, const {{class}} &right) Q_DECL_NOTHROW
+{
+ return !(left == right);
+}
+
+QDataStream &operator<<(QDataStream &stream, const {{class}} &obj)
+{
+{% for field in struct.fields %}
+ stream << obj.{{field}}();
+{% endfor %}
+ return stream;
+}
+
+QDataStream &operator>>(QDataStream &stream, {{class}} &obj)
+{
+{% for field in struct.fields %}
+ stream >> obj.m_{{field}};
+{% endfor %}
+ return stream;
+}
+
QT_END_NAMESPACE