168 {
169 int num_iterations = (member_params == nullptr) ? 1 : 2;
170 std::ostringstream stream;
171 stream.imbue(std::locale::classic());
172 for (int v = 0; v < num_iterations; ++v) {
173 const ParamsVectors *vec = (v == 0) ?
GlobalParams() : member_params;
174 for (int i = 0; i < vec->int_params.size(); ++i) {
175 stream << vec->
int_params[i]->name_str() <<
'\t' <<
176 (int32_t)(*vec->int_params[i]) << '\t' <<
177 vec->int_params[i]->info_str() << '\n';
178 }
179 for (int i = 0; i < vec->bool_params.size(); ++i) {
180 stream << vec->bool_params[i]->name_str() << '\t' <<
181 bool(*vec->bool_params[i]) << '\t' <<
182 vec->bool_params[i]->info_str() << '\n';
183 }
184 for (int i = 0; i < vec->string_params.size(); ++i) {
185 stream << vec->string_params[i]->name_str() << '\t' <<
186 vec->string_params[i]->c_str() << '\t' <<
187 vec->string_params[i]->info_str() << '\n';
188 }
189 for (int i = 0; i < vec->double_params.size(); ++i) {
190 stream << vec->double_params[i]->name_str() << '\t' <<
191 (double)(*vec->double_params[i]) << '\t' <<
192 vec->double_params[i]->info_str() << '\n';
193 }
194 }
195 fprintf(fp, "%s", stream.str().c_str());
196}