1{% import 'templates/fields/base.tmpl' as base %} 2{% from 'templates/fields/field.tmpl' import getter_expression, setter_expression, decode %} 3 4{% macro decl_public_methods(field) %} 5{{field.type_name}}* {{field.getter_method_name}}() const { 6 return {{decode(field, getter_expression(field))}}.get(); 7} 8 9void {{field.setter_method_name}}({{field.wrapper_pointer_name}}<{{field.type_name}}> v) { 10{% if field.group.parent %} 11 {{setter_expression(field)}} = std::move(v); 12{% else %} 13 {{field.name}} = std::move(v); 14{% endif %} 15} 16{%- endmacro %} 17 18{% macro decl_protected_methods(field) -%} 19{%- endmacro %} 20