Code generator for C++ from YAML to generate network protocol parsers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
524 B

  1. size_t <%= @name %>_position() {
  2. return <%= @name %>_end_position();
  3. }
  4. size_t <%= @name %>_end_position() {
  5. return <%= @name %>_position()+sizeof(<%= @out_type %>);
  6. }
  7. <%= @out_type %> get_<%= @name %>(const <%= class_name %>& alter) {
  8. auto ptr = (char*)&alter;
  9. ptr+=<%= @name %>_position();
  10. return *(<%= @out_type %>*)ptr;
  11. }
  12. void set_<%= @name %>(<%= class_name %>& alter, const <%= @out_type %>& param) {
  13. auto ptr = (char*)&alter;
  14. ptr+=<%= @name %>_position();
  15. *(<%= @out_type %>*)ptr = param;
  16. }