Sha256: 5e62d4dd0e81bd143f0a7f049979421864f12fd699037121abb2516d0ae40acf
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
#ifndef BENCHMARK_STRING_UTIL_H_ #define BENCHMARK_STRING_UTIL_H_ #include <sstream> #include <string> #include <utility> #include "internal_macros.h" namespace benchmark { void AppendHumanReadable(int n, std::string* str); std::string HumanReadableNumber(double n, double one_k = 1024.0); #if defined(__MINGW32__) __attribute__((format(__MINGW_PRINTF_FORMAT, 1, 2))) #elif defined(__GNUC__) __attribute__((format(printf, 1, 2))) #endif std::string StrFormat(const char* format, ...); inline std::ostream& StrCatImp(std::ostream& out) BENCHMARK_NOEXCEPT { return out; } template <class First, class... Rest> inline std::ostream& StrCatImp(std::ostream& out, First&& f, Rest&&... rest) { out << std::forward<First>(f); return StrCatImp(out, std::forward<Rest>(rest)...); } template <class... Args> inline std::string StrCat(Args&&... args) { std::ostringstream ss; StrCatImp(ss, std::forward<Args>(args)...); return ss.str(); } #ifdef BENCHMARK_STL_ANDROID_GNUSTL /* * GNU STL in Android NDK lacks support for some C++11 functions, including * stoul, stoi, stod. We reimplement them here using C functions strtoul, * strtol, strtod. Note that reimplemented functions are in benchmark:: * namespace, not std:: namespace. */ unsigned long stoul(const std::string& str, size_t* pos = nullptr, int base = 10); int stoi(const std::string& str, size_t* pos = nullptr, int base = 10); double stod(const std::string& str, size_t* pos = nullptr); #else using std::stoul; using std::stoi; using std::stod; #endif } // end namespace benchmark #endif // BENCHMARK_STRING_UTIL_H_
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simdjson-0.3.0 | vendor/simdjson/dependencies/benchmark/src/string_util.h |