diff options
Diffstat (limited to 'src/tools/ivigenerator/templates_frontend/struct.cpp.tpl')
-rw-r--r-- | src/tools/ivigenerator/templates_frontend/struct.cpp.tpl | 31 |
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 |