fix posargs
parent
97dd77d9c9
commit
e81cddf6ba
|
@ -50,19 +50,27 @@ namespace blt
|
||||||
void validateFlags();
|
void validateFlags();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
arg_vector_t(std::vector<std::string> flags): flags(std::move(flags))
|
explicit arg_vector_t(std::vector<std::string> flags): flags(std::move(flags))
|
||||||
{
|
{
|
||||||
validateFlags();
|
validateFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
arg_vector_t(std::initializer_list<std::string> flags): flags(flags)
|
arg_vector_t(std::initializer_list<std::string> f): flags(f)
|
||||||
{
|
{
|
||||||
|
if (flags.size() == 1) {
|
||||||
|
if (!blt::string::starts_with(flags[0], '-'))
|
||||||
|
{
|
||||||
|
name = flags[0];
|
||||||
|
flags.clear();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
validateFlags();
|
validateFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
arg_vector_t(const char* str);
|
explicit arg_vector_t(const char* str);
|
||||||
|
|
||||||
arg_vector_t(const std::string& str);
|
explicit arg_vector_t(const std::string& str);
|
||||||
|
|
||||||
[[nodiscard]] inline bool isFlag() const
|
[[nodiscard]] inline bool isFlag() const
|
||||||
{
|
{
|
||||||
|
@ -135,6 +143,9 @@ namespace blt
|
||||||
|
|
||||||
explicit arg_properties_t(arg_vector_t flags): a_flags(std::move(flags))
|
explicit arg_properties_t(arg_vector_t flags): a_flags(std::move(flags))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
explicit arg_properties_t(const std::string& pos_arg): a_flags(pos_arg)
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
class arg_builder
|
class arg_builder
|
||||||
|
@ -145,6 +156,9 @@ namespace blt
|
||||||
explicit arg_builder(const arg_vector_t& flags): properties(flags)
|
explicit arg_builder(const arg_vector_t& flags): properties(flags)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
explicit arg_builder(const std::string& pos_arg): properties(pos_arg)
|
||||||
|
{}
|
||||||
|
|
||||||
arg_builder(const std::initializer_list<std::string>& flags): properties(flags)
|
arg_builder(const std::initializer_list<std::string>& flags): properties(flags)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ namespace blt
|
||||||
arg_vector_t::arg_vector_t(const char* str)
|
arg_vector_t::arg_vector_t(const char* str)
|
||||||
{
|
{
|
||||||
std::string as_string(str);
|
std::string as_string(str);
|
||||||
if (as_string.starts_with('-'))
|
if (blt::string::starts_with(str, '-'))
|
||||||
flags.emplace_back(as_string);
|
flags.emplace_back(as_string);
|
||||||
else
|
else
|
||||||
name = as_string;
|
name = as_string;
|
||||||
|
@ -62,7 +62,7 @@ namespace blt
|
||||||
|
|
||||||
arg_vector_t::arg_vector_t(const std::string& str)
|
arg_vector_t::arg_vector_t(const std::string& str)
|
||||||
{
|
{
|
||||||
if (str.starts_with('-'))
|
if (blt::string::starts_with(str, '-'))
|
||||||
flags.emplace_back(str);
|
flags.emplace_back(str);
|
||||||
else
|
else
|
||||||
name = str;
|
name = str;
|
||||||
|
|
Loading…
Reference in New Issue