OpenFPGA/libs/EXTERNAL/libargparse/src/argparse_util.tpp

35 lines
727 B
C++

#include <sstream>
#include "argparse.hpp"
namespace argparse {
template<typename T>
T as(std::string str) {
std::stringstream ss(str);
T val;
ss >> val;
if (!ss.good()) {
std::stringstream msg;
msg << "Failed to convert value '" << str << "'";
throw ArgParseError(msg.str().c_str());
}
}
template<typename Container>
std::string join(Container container, std::string join_str) {
std::stringstream ss;
bool first = true;
for (const auto& val : container) {
if (!first) ss << join_str;
ss << val;
first = false;
}
return ss.str();
}
}