parser only for number

This commit is contained in:
ackimixs
2024-05-20 16:48:26 +02:00
parent 031f46d7c6
commit 4a196a34ce

View File

@@ -18,7 +18,7 @@ public:
[[nodiscard]] std::string getOption(const std::string& option, const std::string& defaultValue) const; [[nodiscard]] std::string getOption(const std::string& option, const std::string& defaultValue) const;
template <typename T> template <typename T>
[[nodiscard]] T getOption(const std::string& option, T defaultValue) const { [[nodiscard]] typename std::enable_if<std::is_arithmetic<T>::value, T>::type getOption(const std::string& option, T defaultValue) const {
if (!hasOption(option)) { if (!hasOption(option)) {
return defaultValue; return defaultValue;
} }
@@ -31,7 +31,7 @@ public:
} }
template <typename T> template <typename T>
[[nodiscard]] std::optional<T> getOption(const std::string& option) const { [[nodiscard]] std::optional<typename std::enable_if<std::is_arithmetic<T>::value, T>::type> getOption(const std::string& option) const {
if (!hasOption(option)) { if (!hasOption(option)) {
return std::nullopt; return std::nullopt;
} }
@@ -48,7 +48,7 @@ public:
[[nodiscard]] std::string getPositionalArgument(int index) const; [[nodiscard]] std::string getPositionalArgument(int index) const;
template <typename T> template <typename T>
[[nodiscard]] T getPositionalArgument(int index) const { [[nodiscard]] typename std::enable_if<std::is_arithmetic<T>::value, T>::type getPositionalArgument(int index) const {
if (!hasPositionalArgument(index)) { if (!hasPositionalArgument(index)) {
return T(); return T();
} }