def _generate_struct_cstor_signature_default(self, struct):
if not self._struct_has_defaults(struct):<EOL><INDENT>return<EOL><DEDENT>fields_no_default = [<EOL>f for f in struct.all_fields<EOL>if not f.has_default and not is_nullable_type(f.data_type)<EOL>]<EOL>signature = fmt_signature(<EOL>func=self._cstor_name_from_fields(fields_no_default),<EOL>args=self._cstor_args_from_fields(<EOL>fields_no_default, is_struct=True),<EOL>return_type='<STR_LIT>')<EOL>self.emit(comment_prefix)<EOL>description_str = (<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL>self.emit_wrapped_text(description_str, prefix=comment_prefix)<EOL>self.emit(comment_prefix)<EOL>for field in fields_no_default:<EOL><INDENT>doc = self.process_doc(field.doc,<EOL>self._docf) if field.doc else undocumented<EOL>self.emit_wrapped_text(<EOL>'<STR_LIT>'.format(fmt_var(field.name), doc),<EOL>prefix=comment_prefix)<EOL><DEDENT>if struct.all_fields:<EOL><INDENT>self.emit(comment_prefix)<EOL><DEDENT>self.emit_wrapped_text(<EOL>'<STR_LIT>', prefix=comment_prefix)<EOL>self.emit(comment_prefix)<EOL>self.emit('<STR_LIT>'.format(signature))<EOL>self.emit()<EOL>
Emits struct convenience constructor with default arguments
        ommitted signature to be used in the struct header file.