1010#include < utility>
1111
1212codegen_base::codegen_base (const char *filebase, const char *fileext)
13- : filebase_(filebase), cpp_ns_(filebase),
14- out_((filebase_ + fileext).c_str(), std::ofstream::trunc) {
13+ : filebase_(filebase), ext_(fileext),cpp_ns_(filebase),
14+ out_((filebase_ + fileext).c_str(), std::ofstream::trunc) ,
15+ use_standard_comment_(true ) {
1516 if (!out_.is_open ()) {
1617 filebase_ += fileext;
1718 throw file_open_error (filebase_);
@@ -24,6 +25,15 @@ codegen_base::dont_generate(const mfast::field_instruction * /*inst*/) const {
2425 return false ;
2526}
2627
28+ void codegen_base::generate_comment (){
29+ if (use_standard_comment_){
30+ out_ << " // " << filebase_ << ext_ << " generated by mFAST from FAST Template. \n "
31+ << " // Do not modify this file directly. Any modifications \n "
32+ << " // will be lost the next time this file is generated.\n\n " ;
33+ }
34+ }
35+
36+
2737void codegen_base::set_outer_ns (const char *outer_ns) {
2838 outer_ns_.clear ();
2939 while (outer_ns) {
@@ -41,6 +51,10 @@ void codegen_base::set_outer_ns(const char *outer_ns) {
4151 }
4252}
4353
54+ void codegen_base::set_generate_comment (bool generateComment){
55+ use_standard_comment_ = generateComment;
56+ }
57+
4458void codegen_base::traverse (mfast::dynamic_templates_description &desc) {
4559 for (auto inst : desc.defined_type_instructions ()) {
4660 // we use the second parameter to identify whether the instruction is nested.
0 commit comments