mirror of
https://github.com/KeqingMoe/argparse.git
synced 2025-07-04 15:14:39 +00:00
Default value is not a container of std::any
This commit is contained in:
parent
4c5ded8c84
commit
3177f544f5
@ -340,22 +340,16 @@ private:
|
|||||||
*/
|
*/
|
||||||
template <typename CONTAINER>
|
template <typename CONTAINER>
|
||||||
details::enable_if_container<CONTAINER> get() const {
|
details::enable_if_container<CONTAINER> get() const {
|
||||||
using ValueType = typename CONTAINER::value_type;
|
|
||||||
CONTAINER tResult;
|
|
||||||
if (!mValues.empty()) {
|
if (!mValues.empty()) {
|
||||||
|
using ValueType = typename CONTAINER::value_type;
|
||||||
|
CONTAINER tResult;
|
||||||
std::transform(
|
std::transform(
|
||||||
std::begin(mValues), std::end(mValues), std::back_inserter(tResult),
|
std::begin(mValues), std::end(mValues), std::back_inserter(tResult),
|
||||||
[](const auto &value) { return std::any_cast<ValueType>(value); });
|
[](const auto &value) { return std::any_cast<ValueType>(value); });
|
||||||
return tResult;
|
return tResult;
|
||||||
}
|
}
|
||||||
if (mDefaultValue.has_value()) {
|
if (mDefaultValue.has_value()) {
|
||||||
const auto &tDefaultValues =
|
return std::any_cast<CONTAINER>(mDefaultValue);
|
||||||
std::any_cast<const CONTAINER &>(mDefaultValue);
|
|
||||||
std::transform(std::begin(tDefaultValues), std::end(tDefaultValues),
|
|
||||||
std::back_inserter(tResult), [](const auto &value) {
|
|
||||||
return std::any_cast<ValueType>(value);
|
|
||||||
});
|
|
||||||
return tResult;
|
|
||||||
}
|
}
|
||||||
throw std::logic_error("No value provided");
|
throw std::logic_error("No value provided");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user