def _generate_serializable_funcs(self, data_type_name):
with self.block_func(<EOL>func='<STR_LIT>',<EOL>args=fmt_func_args_declaration([('<STR_LIT>', '<STR_LIT:id>')]),<EOL>return_type='<STR_LIT>',<EOL>class_func=True):<EOL><INDENT>func_call = fmt_func_call(<EOL>caller=fmt_serial_class(data_type_name),<EOL>callee='<STR_LIT>',<EOL>args=fmt_func_args([('<STR_LIT>', '<STR_LIT>')]))<EOL>self.emit('<STR_LIT>'.format(func_call))<EOL><DEDENT>self.emit()<EOL>with self.block_func(<EOL>func='<STR_LIT>',<EOL>args=fmt_func_args_declaration([('<STR_LIT>', '<STR_LIT>')]),<EOL>return_type='<STR_LIT:id>',<EOL>class_func=True):<EOL><INDENT>self.emit('<STR_LIT>'.format(<EOL>fmt_func_call(<EOL>caller=fmt_serial_class(data_type_name),<EOL>callee='<STR_LIT>',<EOL>args=fmt_func_args([('<STR_LIT>', '<STR_LIT>')]))))<EOL><DEDENT>self.emit()<EOL>
Emits the two struct/union functions that implement the Serializable protocol.