| {% 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 %} |