diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index d2ae4b26..c1cd8d9e 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -5389,8 +5389,7 @@ OccbinConstraintsStatement::writeOutput(ostream &output, const string &basename, << "oo_.dr=set_state_space(oo_.dr,M_,options_);" << endl; string filename = "+" + basename + "/occbin_difference.m"; - ofstream diff_output; - diff_output.open(filename, ios::out | ios::binary); + ofstream diff_output{filename, ios::out | ios::binary}; if (!diff_output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 269d0903..d9a46304 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -477,8 +477,7 @@ DynamicModel::writeDynamicPerBlockMFiles(const string &basename) const int nze_exo_det = blocks_derivatives_exo_det[blk].size(); string filename = packageDir(basename + ".block") + "/dynamic_" + to_string(blk+1) + ".m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -586,8 +585,7 @@ DynamicModel::writeDynamicPerBlockCFiles(const string &basename) const int nze_exo_det = blocks_derivatives_exo_det[blk].size(); string filename = basename + "/model/src/dynamic_" + to_string(blk+1) + ".c"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -753,8 +751,7 @@ DynamicModel::writeDynamicPerBlockCFiles(const string &basename) const output.close(); filename = basename + "/model/src/dynamic_" + to_string(blk+1) + ".h"; - ofstream header_output; - header_output.open(filename, ios::out | ios::binary); + ofstream header_output{filename, ios::out | ios::binary}; if (!header_output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -1287,8 +1284,7 @@ DynamicModel::writeDynamicCFile(const string &basename) const int ntt = temporary_terms_mlv.size() + temporary_terms_derivatives[0].size() + temporary_terms_derivatives[1].size() + temporary_terms_derivatives[2].size() + temporary_terms_derivatives[3].size(); - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1480,9 +1476,8 @@ DynamicModel::writeBlockBytecodeBinFile(const string &basename, int num, int &u_ void DynamicModel::writeDynamicBlockMFile(const string &basename) const { - ofstream output; string filename = packageDir(basename) + "/dynamic.m"; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1516,8 +1511,7 @@ DynamicModel::writeDynamicBlockCFile(const string &basename) const { string filename = basename + "/model/src/dynamic.c"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1609,8 +1603,7 @@ DynamicModel::writeWrapperFunctions(const string &basename, const string &ending name = "dynamic_resid_g1_g2_g3"; string filename = packageDir(basename) + "/" + name + ".m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1659,8 +1652,7 @@ DynamicModel::writeDynamicModelHelper(const string &basename, const ostringstream &s, const ostringstream &s_tt) const { string filename = packageDir(basename) + "/" + name_tt + ".m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1741,8 +1733,7 @@ void DynamicModel::writeDynamicMatlabCompatLayer(const string &basename) const { string filename = packageDir(basename) + "/dynamic.m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -2656,8 +2647,7 @@ DynamicModel::writeBlockDriverOutput(ostream &output, const string &basename, { filesystem::create_directories(basename + "/model/bytecode"); string main_name = basename + "/model/bytecode/kfi"; - ofstream KF_index_file; - KF_index_file.open(main_name, ios::out | ios::binary | ios::ate); + ofstream KF_index_file{main_name, ios::out | ios::binary | ios::ate}; int n_obs = symbol_table.observedVariablesNbr(); int n_state = state_var.size(); for (int it : state_var) @@ -5143,8 +5133,7 @@ DynamicModel::writeParamsDerivativesFile(const string &basename, bool julia) con } string filename = julia ? basename + "DynamicParamsDerivs.jl" : packageDir(basename) + "/dynamic_params_derivs.m"; - ofstream paramsDerivsFile; - paramsDerivsFile.open(filename, ios::out | ios::binary); + ofstream paramsDerivsFile{filename, ios::out | ios::binary}; if (!paramsDerivsFile.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; diff --git a/src/MacroExpandModFile.cc b/src/MacroExpandModFile.cc index c39a9331..e3ff96f1 100644 --- a/src/MacroExpandModFile.cc +++ b/src/MacroExpandModFile.cc @@ -40,7 +40,7 @@ macroExpandModFile(const string &filename, const string &basename, const istream { if (save_macro_file.empty()) save_macro_file = basename + "-macroexp.mod"; - ofstream macro_output_file(save_macro_file); + ofstream macro_output_file{save_macro_file}; if (macro_output_file.fail()) { cerr << "Cannot open " << save_macro_file << " for macro output" << endl; diff --git a/src/ModFile.cc b/src/ModFile.cc index 9d8cf8cd..58dfdbcd 100644 --- a/src/ModFile.cc +++ b/src/ModFile.cc @@ -814,25 +814,21 @@ ModFile::writeMOutput(const string &basename, bool clear_all, bool clear_global, filesystem::remove_all(basename + "/model/bytecode"); } - ofstream mOutputFile; - - if (basename.size()) - { - filesystem::create_directory("+" + basename); - string fname = "+" + basename + "/driver.m"; - mOutputFile.open(fname, ios::out | ios::binary); - if (!mOutputFile.is_open()) - { - cerr << "ERROR: Can't open file " << fname << " for writing" << endl; - exit(EXIT_FAILURE); - } - } - else + if (!basename.size()) { cerr << "ERROR: Missing file name" << endl; exit(EXIT_FAILURE); } + filesystem::create_directory("+" + basename); + string fname = "+" + basename + "/driver.m"; + ofstream mOutputFile{fname, ios::out | ios::binary}; + if (!mOutputFile.is_open()) + { + cerr << "ERROR: Can't open file " << fname << " for writing" << endl; + exit(EXIT_FAILURE); + } + mOutputFile << "%" << endl << "% Status : main Dynare file" << endl << "%" << endl @@ -1273,25 +1269,21 @@ ModFile::writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType } else { - ofstream jsonOutputFile; - - if (basename.size()) - { - filesystem::create_directories(basename + "/model/json"); - string fname{basename + "/model/json/modfile.json"}; - jsonOutputFile.open(fname, ios::out | ios::binary); - if (!jsonOutputFile.is_open()) - { - cerr << "ERROR: Can't open file " << fname << " for writing" << endl; - exit(EXIT_FAILURE); - } - } - else + if (!basename.size()) { cerr << "ERROR: Missing file name" << endl; exit(EXIT_FAILURE); } + filesystem::create_directories(basename + "/model/json"); + string fname{basename + "/model/json/modfile.json"}; + ofstream jsonOutputFile{fname, ios::out | ios::binary}; + if (!jsonOutputFile.is_open()) + { + cerr << "ERROR: Can't open file " << fname << " for writing" << endl; + exit(EXIT_FAILURE); + } + jsonOutputFile << output.str(); jsonOutputFile.close(); @@ -1397,8 +1389,7 @@ ModFile::writeJsonComputingPassOutput(const string &basename, JsonFileOutputType void ModFile::writeJsonFileHelper(const string &fname, ostringstream &output) const { - ofstream jsonOutput; - jsonOutput.open(fname, ios::out | ios::binary); + ofstream jsonOutput{fname, ios::out | ios::binary}; if (!jsonOutput.is_open()) { cerr << "ERROR: Can't open file " << fname << " for writing" << endl; diff --git a/src/ModelEquationBlock.cc b/src/ModelEquationBlock.cc index afe3b36f..02290549 100644 --- a/src/ModelEquationBlock.cc +++ b/src/ModelEquationBlock.cc @@ -132,18 +132,17 @@ SteadyStateModel::writeLatexSteadyStateFile(const string &basename) const { filesystem::create_directories(basename + "/latex"); - ofstream output, content_output; string filename = basename + "/latex/steady_state.tex"; string content_filename = basename + "/latex/steady_state_content.tex"; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; exit(EXIT_FAILURE); } - content_output.open(content_filename, ios::out | ios::binary); + ofstream content_output{content_filename, ios::out | ios::binary}; if (!content_output.is_open()) { cerr << "ERROR: Can't open file " << content_filename << " for writing" << endl; @@ -377,8 +376,7 @@ void Epilogue::writeStaticEpilogueFile(const string &basename) const { string filename = packageDir(basename) + "/epilogue_static.m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -416,8 +414,7 @@ void Epilogue::writeDynamicEpilogueFile(const string &basename) const { string filename = packageDir(basename) + "/epilogue_dynamic.m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; diff --git a/src/ModelTree.cc b/src/ModelTree.cc index cd3ade62..8ec265a8 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -1473,17 +1473,16 @@ ModelTree::writeLatexModelFile(const string &mod_basename, const string &latex_b { filesystem::create_directories(mod_basename + "/latex"); - ofstream output, content_output; string filename = mod_basename + "/latex/" + latex_basename + ".tex"; string content_filename = mod_basename + "/latex/" + latex_basename + "_content" + ".tex"; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; exit(EXIT_FAILURE); } - content_output.open(content_filename, ios::out | ios::binary); + ofstream content_output{content_filename, ios::out | ios::binary}; if (!content_output.is_open()) { cerr << "ERROR: Can't open file " << content_filename << " for writing" << endl; diff --git a/src/StaticModel.cc b/src/StaticModel.cc index 3ffe961b..2418cd2d 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -225,8 +225,7 @@ StaticModel::writeStaticPerBlockMFiles(const string &basename) const BlockSimulationType simulation_type = blocks[blk].simulation_type; string filename = packageDir(basename + ".block") + "/static_" + to_string(blk+1) + ".m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -281,8 +280,7 @@ StaticModel::writeStaticPerBlockCFiles(const string &basename) const BlockSimulationType simulation_type = blocks[blk].simulation_type; string filename = basename + "/model/src/static_" + to_string(blk+1) + ".c"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -350,8 +348,7 @@ StaticModel::writeStaticPerBlockCFiles(const string &basename) const output.close(); filename = basename + "/model/src/static_" + to_string(blk+1) + ".h"; - ofstream header_output; - header_output.open(filename, ios::out | ios::binary); + ofstream header_output{filename, ios::out | ios::binary}; if (!header_output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -957,8 +954,7 @@ StaticModel::writeWrapperFunctions(const string &basename, const string &ending) name = "static_resid_g1_g2_g3"; string filename = packageDir(basename) + "/" + name + ".m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1006,8 +1002,7 @@ StaticModel::writeStaticModelHelper(const string &basename, const ostringstream &s, const ostringstream &s_tt) const { string filename = packageDir(basename) + "/" + name_tt + ".m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1079,8 +1074,7 @@ void StaticModel::writeStaticMatlabCompatLayer(const string &basename) const { string filename = packageDir(basename) + "/static.m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1563,8 +1557,7 @@ StaticModel::writeStaticCFile(const string &basename) const int ntt = temporary_terms_mlv.size() + temporary_terms_derivatives[0].size() + temporary_terms_derivatives[1].size() + temporary_terms_derivatives[2].size() + temporary_terms_derivatives[3].size(); - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -1716,8 +1709,7 @@ StaticModel::writeStaticBlockMFile(const string &basename) const { string filename = packageDir(basename) + "/static.m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -1752,8 +1744,7 @@ StaticModel::writeStaticBlockCFile(const string &basename) const { string filename = basename + "/model/src/static.c"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; @@ -2255,9 +2246,8 @@ StaticModel::writeParamsDerivativesFile(const string &basename, bool julia) cons } } - ofstream paramsDerivsFile; string filename = julia ? basename + "StaticParamsDerivs.jl" : packageDir(basename) + "/static_params_derivs.m"; - paramsDerivsFile.open(filename, ios::out | ios::binary); + ofstream paramsDerivsFile{filename, ios::out | ios::binary}; if (!paramsDerivsFile.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl; diff --git a/src/SubModel.cc b/src/SubModel.cc index 4c1ab5ba..17d4d6b1 100644 --- a/src/SubModel.cc +++ b/src/SubModel.cc @@ -247,8 +247,7 @@ TrendComponentModelTable::writeOutput(const string &basename, ostream &output) c return; string filename = "+" + basename + "/trend_component_ar_a0.m"; - ofstream ar_ec_output; - ar_ec_output.open(filename, ios::out | ios::binary); + ofstream ar_ec_output{filename, ios::out | ios::binary}; if (!ar_ec_output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -429,8 +428,7 @@ VarModelTable::writeOutput(const string &basename, ostream &output) const return; string filename = "+" + basename + "/varmatrices.m"; - ofstream ar_output; - ar_output.open(filename, ios::out | ios::binary); + ofstream ar_output{filename, ios::out | ios::binary}; if (!ar_output.is_open()) { cerr << "Error: Can't open file " << filename << " for writing" << endl; @@ -1754,8 +1752,7 @@ PacModelTable::writeTargetCoefficientsFile(const string &basename) const return; string filename = DataTree::packageDir(basename) + "/pac_target_coefficients.m"; - ofstream output; - output.open(filename, ios::out | ios::binary); + ofstream output{filename, ios::out | ios::binary}; if (!output.is_open()) { cerr << "ERROR: Can't open file " << filename << " for writing" << endl;