diff --git a/arg_parse_variant_map.drawio b/arg_parse_variant_map.drawio
new file mode 100644
index 0000000..ac232d8
--- /dev/null
+++ b/arg_parse_variant_map.drawio
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/blt_argparse_variant_map.png b/blt_argparse_variant_map.png
new file mode 100644
index 0000000..adaf7f0
Binary files /dev/null and b/blt_argparse_variant_map.png differ
diff --git a/include/blt/parse/argparse.h b/include/blt/parse/argparse.h
index ddc6d4e..476dacf 100755
--- a/include/blt/parse/argparse.h
+++ b/include/blt/parse/argparse.h
@@ -326,22 +326,6 @@ namespace blt
return static_cast(std::stoll(s));
return static_cast(std::stoull(s));
}
-
- private:
- struct
- {
- friend arg_parse;
- private:
- std::vector arg_properties_storage;
- size_t max_line_length = 80;
- // TODO: grouping like git's help
- // pre/postfix applied to the help message
- std::string prefix;
- std::string postfix;
- public:
- std::vector name_associations;
- HASHMAP flag_associations;
- } user_args;
struct arg_results
{
@@ -386,7 +370,24 @@ namespace blt
return data.find(key.substr(1)) != data.end();
return data.find(key) != data.end();
}
- } loaded_args;
+ };
+ private:
+ struct
+ {
+ friend arg_parse;
+ private:
+ std::vector arg_properties_storage;
+ size_t max_line_length = 80;
+ // TODO: grouping like git's help
+ // pre/postfix applied to the help message
+ std::string prefix;
+ std::string postfix;
+ public:
+ std::vector name_associations;
+ HASHMAP flag_associations;
+ } user_args;
+
+ arg_results loaded_args;
bool subcommand_found = false;
bool use_full_name = false;