Pakman
input.cc
1 #include <string>
2 #include <vector>
3 
4 #include "core/utils.h"
5 #include "core/Command.h"
6 
7 #include "input.h"
8 
9 int parse_integer(const std::string& raw_input)
10 {
11  return std::stoi(raw_input);
12 }
13 
14 unsigned long parse_unsigned_long_integer(const std::string& raw_input)
15 {
16  return std::stoul(raw_input);
17 }
18 
19 Command parse_command(const std::string& raw_input)
20 {
21  return static_cast<Command>(raw_input);
22 }
23 
24 Epsilon parse_epsilon(const std::string& raw_input)
25 {
26  return static_cast<Epsilon>(raw_input);
27 }
28 
29 std::vector<Epsilon> parse_epsilons(const std::string& raw_input)
30 {
31  // Get raw strings
32  std::vector<std::string> tokens = parse_tokens(raw_input, ",");
33 
34  // Construct Epsilon vector
35  std::vector<Epsilon> epsilons;
36  for (std::string& token : tokens)
37  epsilons.push_back(std::move(token));
38 
39  return epsilons;
40 }
41 
42 std::vector<ParameterName> parse_parameter_names(const std::string& raw_input)
43 {
44  // Get raw strings
45  std::vector<std::string> tokens = parse_tokens(raw_input, ",");
46 
47  // Construct ParameterName vector
48  std::vector<ParameterName> parameter_names;
49  for (std::string& token : tokens)
50  parameter_names.push_back(std::move(token));
51 
52  return parameter_names;
53 }
Command parse_command(const std::string &raw_input)
Definition: input.cc:19
std::vector< ParameterName > parse_parameter_names(const std::string &raw_input)
Definition: input.cc:42
std::vector< std::string > parse_tokens(const std::string &str, const std::string &delimiters=" ")
Definition: utils.cc:190
std::vector< Epsilon > parse_epsilons(const std::string &raw_input)
Definition: input.cc:29
unsigned long parse_unsigned_long_integer(const std::string &raw_input)
Definition: input.cc:14
Epsilon parse_epsilon(const std::string &raw_input)
Definition: input.cc:24
int parse_integer(const std::string &raw_input)
Definition: input.cc:9