Capstone C++ Workflows
Command Report
Decode a command code, dispatch it with a switch, and report the chosen workflow size.
Command Report
command_report.cpp
#include <iostream>
enum class Command {
Build,
Test,
Package
};
Command decode(int code) {
if (code == 1) {
return Command::Build;
}
if (code == 2) {
return Command::Test;
}
return Command::Package;
}
int main() {
int code = ;
Command command = decode(code);
int steps = 0;
switch (command) {
case Command::Build:
steps = 4;
break;
case Command::Test:
steps = 6;
break;
case Command::Package:
steps = 3;
break;
}
std::cout << "code=" << code << std::endl;
std::cout << "steps=" << steps << std::endl;
return 0;
}
#include <iostream>
enum class Command {
Build,
Test,
Package
};
Command decode(int code) {
if (code == 1) {
return Command::Build;
}
if (code == 2) {
return Command::Test;
}
return Command::Package;
}
int main() {
int code = ;
Command command = decode(code);
int steps = 0;
switch (command) {
case Command::Build:
steps = 4;
break;
case Command::Test:
steps = 6;
break;
case Command::Package:
steps = 3;
break;
}
std::cout << "code=" << code << std::endl;
std::cout << "steps=" << steps << std::endl;
return 0;
}
#include <iostream>
enum class Command {
Build,
Test,
Package
};
Command decode(int code) {
if (code == 1) {
return Command::Build;
}
if (code == 2) {
return Command::Test;
}
return Command::Package;
}
int main() {
int code = ;
Command command = decode(code);
int steps = 0;
switch (command) {
case Command::Build:
steps = 4;
break;
case Command::Test:
steps = 6;
break;
case Command::Package:
steps = 3;
break;
}
std::cout << "code=" << code << std::endl;
std::cout << "steps=" << steps << std::endl;
return 0;
}
decode
A decode helper converts raw input into a named command before the main workflow decides what to do.
report
The selected command produces a small report value that later code can display or store.