#include

unable to customize parse function for double_constructible types in C++20. · Issue #566 · CLIUtils/CLI11 (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@nanoric

Description

@nanoric

Consider following code:
All works fine with C++14 & C++17.
But failed to call my function in C++20.

Tested under Visual Studio 16.9.0 with "/std:c++latest".

#include <CLI/App.hpp> #include <CLI/CLI.hpp> #include #include

template struct Values { T a; T b; T c; };

using DoubleValues = Values;

namespace CLI { auto &&operator>>(std::istringstream &in, Values &v) { std::string input; in >> input; std::cout << "called correct function " __FUNCTION__ " ! " "val: " << input << std::endl; return in; } bool lexical_cast(const std::string &input, Values &v) { std::cout << "called correct function " FUNCTION " ! " "val: " << input << std::endl; return true; }

};// namespace CLI

DoubleValues doubles; void argparse(CLI::Option_group *group) { group->add_option("--fee-rate", doubles) ->envname("FEE_RATE") ->default_str("0"); }

int main(int argc, char **argv) { CLI::App app;

argparse(app.add_option_group("param"));
CLI11_PARSE(app, argc, argv);
return 0;

}