Pakman
output.cc
1 #include <string>
2 #include <vector>
3 #include <ostream>
4 #include <sstream>
5 
6 #include "core/utils.h"
7 #include "interface/types.h"
8 
9 #include "output.h"
10 
11 void write_parameters(std::ostream& ostrm,
12  const std::vector<ParameterName>& parameter_names,
13  const std::vector<Parameter>& parameters)
14 {
15  // Print header
16  {
17  std::stringstream sstrm;
18 
19  for (const ParameterName& parameter_name : parameter_names)
20  sstrm << parameter_name.str() << ",";
21 
22  sstrm.seekp(sstrm.tellp() - static_cast<std::streamoff>(1));
23  sstrm << std::endl;
24 
25  ostrm << sstrm.str();
26  }
27 
28  // Print accepted parameters
29  for (const Parameter& parameter : parameters)
30  {
31  std::vector<std::string> parameter_tokens =
32  parse_tokens(parameter.str(), " \n\t");
33 
34  std::stringstream sstrm;
35 
36  for (int i = 0; i < parameter_tokens.size(); i++)
37  {
38  sstrm << parameter_tokens[i];
39 
40  if (i < parameter_tokens.size() - 1)
41  sstrm << ',';
42  }
43 
44  sstrm << std::endl;
45 
46  ostrm << sstrm.str();
47  }
48 }
std::vector< std::string > parse_tokens(const std::string &str, const std::string &delimiters=" ")
Definition: utils.cc:190
void write_parameters(std::ostream &ostrm, const std::vector< ParameterName > &parameter_names, const std::vector< Parameter > &parameters)
Definition: output.cc:11