164 {
165 int num_iterations = (member_params == nullptr) ? 1 : 2;
166 std::ostringstream stream;
167 stream.imbue(std::locale::classic());
168 for (int v = 0; v < num_iterations; ++v) {
169 const ParamsVectors *vec = (v == 0) ?
GlobalParams() : member_params;
170 for (auto int_param : vec->int_params) {
171 stream << int_param->name_str() << '\t' << (int32_t)(*int_param) << '\t'
172 << int_param->info_str() << '\n';
173 }
174 for (auto bool_param : vec->bool_params) {
175 stream << bool_param->name_str() << '\t' << bool(*bool_param) << '\t'
176 << bool_param->info_str() << '\n';
177 }
178 for (auto string_param : vec->string_params) {
179 stream << string_param->name_str() << '\t' << string_param->c_str() << '\t'
180 << string_param->info_str() << '\n';
181 }
182 for (auto double_param : vec->double_params) {
183 stream << double_param->name_str() << '\t' << (double)(*double_param) << '\t'
184 << double_param->info_str() << '\n';
185 }
186 }
187 fprintf(fp, "%s", stream.str().c_str());
188}