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,6 +324,22 @@ namespace blt::argparse
break; break;
} }
case action_t::APPEND_CONST: case action_t::APPEND_CONST:
if (flag->m_const_value)
{
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)) // if (parsed_args.contains(dest))
// { // {
// std::visit(detail::arg_meta_type_helper_t::make_lists_only_visitor(handle_insert), parsed_args.m_data[dest]); // std::visit(detail::arg_meta_type_helper_t::make_lists_only_visitor(handle_insert), parsed_args.m_data[dest]);