blob: 6fc0ffbf319af76a388f1156dd29730cfc595cda [file] [log] [blame]
{% from 'fields/field.tmpl' import encode, decode, const_ref, nonconst_ref, getter_expression, setter_expression %}
{% 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) {
{{setter_expression(field)}} = {{encode(field, "v")}};
}
{%- 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) {
{{setter_expression(field)}} = {{encode(field, "v")}};
}
{%- endmacro %}