aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/aesxx/utils/block_cmd_parser.hpp
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-13 14:37:12 +0200
committerEgor Tensin <egor@tensin.name>2026-06-13 14:37:12 +0200
commit6cac3cb57cb4f430df80f8a21e358ad40ae59c89 (patch)
treeb9551474bedb7fdd6a9a4e37bc641bd8d0cfcfb4 /aesxx/utils/block_cmd_parser.hpp
parentcmake: upgrade cmake-common, introduce new features, etc. (diff)
downloadaes-tools-6cac3cb57cb4f430df80f8a21e358ad40ae59c89.tar.gz
aes-tools-6cac3cb57cb4f430df80f8a21e358ad40ae59c89.zip
add .clang-format
Diffstat (limited to 'aesxx/utils/block_cmd_parser.hpp')
-rw-r--r--aesxx/utils/block_cmd_parser.hpp74
1 files changed, 29 insertions, 45 deletions
diff --git a/aesxx/utils/block_cmd_parser.hpp b/aesxx/utils/block_cmd_parser.hpp
index 58f86d8..3ae0eac 100644
--- a/aesxx/utils/block_cmd_parser.hpp
+++ b/aesxx/utils/block_cmd_parser.hpp
@@ -19,8 +19,7 @@
#include <utility>
#include <vector>
-class BlockSettings : public command_line::SettingsParser
-{
+class BlockSettings : public command_line::SettingsParser {
public:
aes::Algorithm algorithm = AES_AES128;
aes::Mode mode = AES_ECB;
@@ -30,65 +29,52 @@ public:
std::vector<Input> inputs;
- explicit BlockSettings(const std::string& argv0)
- : SettingsParser{argv0}
- {
- visible.add_options()
- ("verbose,v",
- boost::program_options::bool_switch(&verbose),
- "enable verbose output")
- ("algorithm,a",
- boost::program_options::value<aes::Algorithm>(&algorithm)
- ->required()
- ->value_name("NAME"),
- "set algorithm")
- ("mode,m",
- boost::program_options::value<aes::Mode>(&mode)
- ->required()
- ->value_name("MODE"),
- "set mode of operation")
- ("use-boxes,b",
- boost::program_options::bool_switch(&use_boxes),
- "use the \"boxes\" interface");
- hidden.add_options()
- ("args",
- boost::program_options::value<std::vector<std::string>>(&args),
- "shouldn't be visible");
+ explicit BlockSettings(const std::string& argv0) : SettingsParser{argv0} {
+ visible.add_options()(
+ "verbose,v", boost::program_options::bool_switch(&verbose), "enable verbose output");
+ visible.add_options()("algorithm,a",
+ boost::program_options::value<aes::Algorithm>(&algorithm)
+ ->required()
+ ->value_name("NAME"),
+ "set algorithm");
+ visible.add_options()(
+ "mode,m",
+ boost::program_options::value<aes::Mode>(&mode)->required()->value_name("MODE"),
+ "set mode of operation");
+ visible.add_options()("use-boxes,b",
+ boost::program_options::bool_switch(&use_boxes),
+ "use the \"boxes\" interface");
+ hidden.add_options()("args",
+ boost::program_options::value<std::vector<std::string>>(&args),
+ "shouldn't be visible");
positional.add("args", -1);
}
- const char* get_short_description() const override
- {
+ const char* get_short_description() const override {
return "[-h|--help] [-v|--verbose] [-a|--algorithm NAME] [-m|--mode MODE]"
" [-- KEY [IV] [BLOCK]...]...";
}
- void parse(int argc, char* argv[]) override
- {
+ void parse(int argc, char* argv[]) override {
SettingsParser::parse(argc, argv);
- parse_inputs(std::deque<std::string>{
- std::make_move_iterator(args.begin()),
- std::make_move_iterator(args.end())});
+ parse_inputs(std::deque<std::string>{std::make_move_iterator(args.begin()),
+ std::make_move_iterator(args.end())});
}
private:
- void parse_inputs(std::deque<std::string>&& src)
- {
+ void parse_inputs(std::deque<std::string>&& src) {
while (!src.empty())
inputs.emplace_back(parse_input(src));
}
- Input parse_input(std::deque<std::string>& src) const
- {
+ Input parse_input(std::deque<std::string>& src) const {
std::string key{std::move(src.front())};
src.pop_front();
std::string iv;
- if (aes::mode_requires_init_vector(mode))
- {
- if (src.empty())
- {
+ if (aes::mode_requires_init_vector(mode)) {
+ if (src.empty()) {
throw boost::program_options::error{
"an initialization vector is required for the selected mode of operation"};
}
@@ -104,12 +90,10 @@ private:
return {key, std::move(blocks)};
}
- static std::vector<std::string> parse_blocks(std::deque<std::string>& src)
- {
+ static std::vector<std::string> parse_blocks(std::deque<std::string>& src) {
std::vector<std::string> blocks;
- while (!src.empty())
- {
+ while (!src.empty()) {
std::string block{std::move(src.front())};
src.pop_front();
if (block == "--")