template long long strict_si_cast<long long>(std::string_view str, std::string *err);
template uint64_t strict_si_cast<uint64_t>(std::string_view str, std::string *err);
template uint32_t strict_si_cast<uint32_t>(std::string_view str, std::string *err);
-
-uint64_t strict_sistrtoll(std::string_view str, std::string *err)
-{
- return strict_si_cast<uint64_t>(str, err);
-}
-
-uint64_t strict_sistrtoll(const char *str, std::string *err)
-{
- return strict_si_cast<uint64_t>(str, err);
-}
template<typename T>
T strict_iec_cast(std::string_view str, std::string *err);
-uint64_t strict_sistrtoll(const char *str, std::string *err);
-
template<typename T>
T strict_si_cast(std::string_view str, std::string *err);
string tss;
int64_t value;
if (field == "max_objects") {
- value = strict_sistrtoll(val.c_str(), &tss);
+ value = strict_si_cast<uint64_t>(val, &tss);
} else if (field == "max_bytes") {
value = strict_iecstrtoll(val.c_str(), &tss);
} else {
static void test_strict_sistrtoll(const char *str)
{
std::string err;
- strict_sistrtoll(str, &err);
+ strict_si_cast<uint64_t>(str, &err);
ASSERT_EQ(err, "");
}
s.append(u);
const char *str = s.c_str();
std::string err;
- uint64_t r = strict_sistrtoll(str, &err);
+ uint64_t r = strict_si_cast<uint64_t>(str, &err);
ASSERT_EQ(err, "");
str = foo.c_str();
static void test_strict_sistrtoll_err(const char *str)
{
std::string err;
- strict_sistrtoll(str, &err);
+ strict_si_cast<uint64_t>(str, &err);
ASSERT_NE(err, "");
}