@ -1,19 +1,19 @@ | |||||
<%= @out_type %> get_<%= @name %>(const <%= class_name %>& alter) { | |||||
static <%= @out_type %> get_<%= @name %>(const <%= class_name %>& alter) { | |||||
auto ptr = (char*)&alter; | auto ptr = (char*)&alter; | ||||
ptr+=<%= @start %>; | ptr+=<%= @start %>; | ||||
return *(<%= @out_type %>*)ptr; | return *(<%= @out_type %>*)ptr; | ||||
} | } | ||||
void set_<%= @name %>(<%= class_name %>& alter, const <%= @out_type %>& param) { | |||||
static void set_<%= @name %>(<%= class_name %>& alter, const <%= @out_type %>& param) { | |||||
auto ptr = (char*)&alter; | auto ptr = (char*)&alter; | ||||
ptr+=<%= @start %>; | ptr+=<%= @start %>; | ||||
*(<%= @out_type %>*)ptr = param; | *(<%= @out_type %>*)ptr = param; | ||||
} | } | ||||
constexpr size_t <%= @name %>_position() { | |||||
static constexpr size_t <%= @name %>_position() { | |||||
return <%= @start %>; | return <%= @start %>; | ||||
} | } | ||||
constexpr size_t <%= @name %>_end_position() { | |||||
static constexpr size_t <%= @name %>_end_position() { | |||||
return <%= @start %>+sizeof(<%= @out_type %>); | return <%= @start %>+sizeof(<%= @out_type %>); | ||||
} | } |
@ -1,18 +1,18 @@ | |||||
size_t <%= @name %>_position() { | |||||
static size_t <%= @name %>_position() { | |||||
return <%= @name %>_end_position(); | return <%= @name %>_end_position(); | ||||
} | } | ||||
size_t <%= @name %>_end_position() { | |||||
static size_t <%= @name %>_end_position() { | |||||
return <%= @name %>_position()+sizeof(<%= @out_type %>); | return <%= @name %>_position()+sizeof(<%= @out_type %>); | ||||
} | } | ||||
<%= @out_type %> get_<%= @name %>(const <%= class_name %>& alter) { | |||||
static <%= @out_type %> get_<%= @name %>(const <%= class_name %>& alter) { | |||||
auto ptr = (char*)&alter; | auto ptr = (char*)&alter; | ||||
ptr+=<%= @name %>_position(); | ptr+=<%= @name %>_position(); | ||||
return *(<%= @out_type %>*)ptr; | return *(<%= @out_type %>*)ptr; | ||||
} | } | ||||
void set_<%= @name %>(<%= class_name %>& alter, const <%= @out_type %>& param) { | |||||
static void set_<%= @name %>(<%= class_name %>& alter, const <%= @out_type %>& param) { | |||||
auto ptr = (char*)&alter; | auto ptr = (char*)&alter; | ||||
ptr+=<%= @name %>_position(); | ptr+=<%= @name %>_position(); | ||||
*(<%= @out_type %>*)ptr = param; | *(<%= @out_type %>*)ptr = param; |
@ -0,0 +1,25 @@ | |||||
static <%= @out_type %> get_<%= @name %>(const <%= class_name %>& alter) { | |||||
auto ptr = (char*)&alter; | |||||
ptr+=<%= @start %>; | |||||
return <%= @mask %> & *(<%= @out_type %>*)ptr; | |||||
} | |||||
static void set_<%= @name %>(<%= class_name %>& alter) { | |||||
auto ptr = (char*)&alter; | |||||
ptr+=<%= @start %>; | |||||
*(<%= @out_type %>*)ptr = <%= @mask %> | *(<%= @out_type %>*)ptr; | |||||
} | |||||
static void unset_<%= @name %>(<%= class_name %>& alter) { | |||||
auto ptr = (char*)&alter; | |||||
ptr+=<%= @start %>; | |||||
*(<%= @out_type %>*)ptr = (<%= @mask %> | *(<%= @out_type %>*)ptr) ^ <%= @mask %>; | |||||
} | |||||
static constexpr size_t <%= @name %>_position() { | |||||
return <%= @start %>; | |||||
} | |||||
static constexpr size_t <%= @name %>_end_position() { | |||||
return <%= @start %>+sizeof(<%= @out_type %>); | |||||
} |