partial solution

v2
Brett 2025-02-17 01:56:27 -05:00
parent a78ad58479
commit fe6ce712e7
2 changed files with 21 additions and 6 deletions

View File

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.20) cmake_minimum_required(VERSION 3.20)
include(cmake/color.cmake) include(cmake/color.cmake)
set(BLT_VERSION 4.0.9) set(BLT_VERSION 4.0.10)
set(BLT_TARGET BLT) set(BLT_TARGET BLT)

View File

@ -21,7 +21,6 @@
namespace blt::argparse namespace blt::argparse
{ {
namespace detail namespace detail
{ {
// Unit Tests for class argument_string_t // Unit Tests for class argument_string_t
@ -325,10 +324,26 @@ namespace blt::argparse
break; break;
} }
case action_t::APPEND_CONST: case action_t::APPEND_CONST:
// if (parsed_args.contains(dest)) if (flag->m_const_value)
// { {
// std::visit(detail::arg_meta_type_helper_t::make_lists_only_visitor(handle_insert), parsed_args.m_data[dest]); std::cerr << "Append const chosen as an action but const value not provided for flag '" << arg << '\'' <<
// } std::endl;
std::exit(1);
}
if (parsed_args.contains(dest))
{
auto& data = parsed_args.m_data[dest];
if (data.index() != flag->m_const_value->index())
{
std::cerr << "Constant value for flag '" << arg << "' type doesn't values already present!" << std::endl;
std::exit(1);
}
}
// if (parsed_args.contains(dest))
// {
// std::visit(detail::arg_meta_type_helper_t::make_lists_only_visitor(handle_insert), parsed_args.m_data[dest]);
// }
case action_t::STORE_CONST: case action_t::STORE_CONST:
std::cerr << "Store const flag called with an argument. This condition doesn't make sense." << std::endl; std::cerr << "Store const flag called with an argument. This condition doesn't make sense." << std::endl;
print_usage(); print_usage();