#include "rtc_base/string_to_number.h"
#include <ctype.h>
#include <cerrno>
#include <cstdlib>
#include "rtc_base/checks.h"
namespace rtc {
namespace string_to_number_internal {
absl::optional<signed_type> ParseSigned(absl::string_view str, int base) { … }
absl::optional<unsigned_type> ParseUnsigned(absl::string_view str, int base) { … }
template <typename T>
T StrToT(const char* str, char** str_end);
template <>
inline float StrToT(const char* str, char** str_end) { … }
template <>
inline double StrToT(const char* str, char** str_end) { … }
template <>
inline long double StrToT(const char* str, char** str_end) { … }
template <typename T>
absl::optional<T> ParseFloatingPoint(absl::string_view str) { … }
template absl::optional<float> ParseFloatingPoint(absl::string_view str);
template absl::optional<double> ParseFloatingPoint(absl::string_view str);
template absl::optional<long double> ParseFloatingPoint(absl::string_view str);
}
}