blob: 08600f1ba6ad506735d3a56c41683a5bcb1a920e [file] [log] [blame]
{% import 'fields/base.tmpl' as base %}
{% from 'fields/field.tmpl' import getter_expression, setter_expression %}
{% macro decl_public_methods(field) %}
{{base.decl_initial_method(field)}}
{{base.decl_getter_method(field)}}
{{base.decl_setter_method(field)}}
void {{field.setter_method_name}}({{field.type_name}}&& v) {
{% if field.group_member_name %}
if (!({{getter_expression(field)}} == v))
{{setter_expression(field)}} = std::move(v);
{% else %}
{{field.name}} = std::move(v);
{% endif %}
}
{{base.decl_resetter_method(field)}}
{% endmacro %}
{% macro decl_protected_methods(field) -%}
{{base.decl_mutable_method(field)}}
{%- endmacro %}