36 WAVEFRONT_OBJECT_FILE = 2,
56 case output_format::PLAIN_TEXT:
59 case output_format::JSON:
62 case output_format::WAVEFRONT_OBJECT_FILE:
65 case output_format::PNG:
68 case output_format::JPEG:
71 case output_format::STDOUT:
76 throw std::invalid_argument(
"Invalid output_format: " + std::to_string(
static_cast<unsigned int>(of)));
86 if (sv.compare(
"txt") == 0)
89 return output_format::PLAIN_TEXT;
91 else if (sv.compare(
"json") == 0)
94 return output_format::JSON;
96 else if (sv.compare(
"obj") == 0)
99 return output_format::WAVEFRONT_OBJECT_FILE;
101 else if (sv.compare(
"png") == 0)
104 return output_format::PNG;
106 else if (sv.compare(
"jpeg") == 0)
109 return output_format::JPEG;
111 else if (sv.compare(
"jpg") == 0)
114 return output_format::JPEG;
116 else if (sv.compare(
"stdout") == 0)
119 return output_format::STDOUT;
124 throw std::invalid_argument(
"Invalid output_format: " + std::string{sv});
144 case algo::BINARY_TREE:
146 return "binary_tree";
147 case algo::SIDEWINDER:
154 throw std::invalid_argument(
"Invalid algo: " + std::to_string(
static_cast<unsigned int>(a)));
163 if (a.compare(
"binary_tree") == 0)
165 return algo::BINARY_TREE;
167 else if (a.compare(
"sidewinder") == 0)
169 return algo::SIDEWINDER;
171 else if (a.compare(
"dfs") == 0)
177 throw std::invalid_argument(
"Invalid algo: " + std::string{a});
Namespace for the maze builder.
Definition algo_interface.h:6
std::string_view to_sv_from_output_format(output_format of)
Convert an output_format enum to a string.
Definition enums.h:50
barriers
Character representations of walls and barriers in the maze.
Definition enums.h:17
output_format to_output_format_from_sv(std::string_view sv)
Convert a string to an output_format enum.
Definition enums.h:83
Direction
Directional neighbors for grid topology.
Definition enums.h:183
algo
Enum class for maze types by the generating algorithm.
Definition enums.h:130
output_format
Enum class for output_format types.
Definition enums.h:30
algo to_algo_from_sv(std::string_view a)
Convert a string to an algo enum.
Definition enums.h:161
std::string_view to_sv_from_algo(algo a)
Convert the algo enum to a string.
Definition enums.h:140