blob: 22448d82af4b6fb58c2b2f4b31fa4da783b1f197 [file] [log] [blame]
{% from 'fields/field.tmpl' import encode, decode, const_ref, nonconst_ref, getter_expression, setter_expression, set_if_changed %}
{% macro decl_initial_method(field) -%}
inline static {{field.type_name}} {{field.initial_method_name}}() {
return {{field.default_value}};
}
{%- endmacro %}
{% macro decl_getter_method(field) -%}
{{const_ref(field)}} {{field.getter_method_name}}() const {
return {{decode(field, getter_expression(field))}};
}
{%- endmacro %}
{% macro decl_setter_method(field) -%}
void {{field.setter_method_name}}({{const_ref(field)}} v) {
{{set_if_changed(field, encode(field, "v"))|indent(2)}}
}
{%- endmacro %}
{% macro decl_resetter_method(field) -%}
inline void {{field.resetter_method_name}}() {
{{setter_expression(field)}} = {{encode(field, field.default_value)}};
}
{%- endmacro %}
{% macro decl_mutable_method(field) -%}
{{nonconst_ref(field)}} {{field.internal_mutable_method_name}}() {
return {{decode(field, setter_expression(field))}};
}
{%- endmacro %}
{% macro decl_internal_getter_method(field) -%}
{{const_ref(field)}} {{field.internal_getter_method_name}}() const {
return {{decode(field, getter_expression(field))}};
}
{%- endmacro %}
{% macro decl_internal_setter_method(field) -%}
void {{field.internal_setter_method_name}}({{const_ref(field)}} v) {
{{set_if_changed(field, encode(field, "v"))|indent(2)}}
}
{%- endmacro %}