bean.sbn 856 B

1234567891011121314151617181920212223242526272829303132
  1. {{namespace_with_grace_begin __namespace}}
  2. {{~if __this.comment != '' ~}}
  3. /**
  4. * {{escape_comment __this.comment}}
  5. */
  6. {{~end~}}
  7. struct {{__name}} : public{{if __parent_def_type}} {{make_cpp_name __parent_def_type.full_name}} {{else}} luban::CfgBean {{end}}
  8. {
  9. static bool deserialize{{__name}}(::luban::ByteBuf& _buf, {{__name}}*& _out);
  10. virtual ~{{__name}}() {}
  11. bool deserialize(::luban::ByteBuf& _buf);
  12. {{~ for field in __export_fields ~}}
  13. {{~if field.comment != '' ~}}
  14. /**
  15. * {{escape_comment field.comment}}
  16. */
  17. {{~end~}}
  18. {{declaring_type_name field.ctype}} {{format_field_name __code_style field.name}};
  19. {{~end~}}
  20. {{~if !__this.is_abstract_type~}}
  21. static constexpr int __ID__ = {{__this.id}};
  22. int getTypeId() const override { return __ID__; }
  23. {{~end~}}
  24. };
  25. {{namespace_with_grace_end __namespace}}