Riyyi
4 years ago
1 changed files with 28 additions and 0 deletions
@ -0,0 +1,28 @@
|
||||
#ifndef UTIL_STRING_H |
||||
#define UTIL_STRING_H |
||||
|
||||
#include <limits> // std::numeric_limits |
||||
#include <string> // std::string, std::stoul |
||||
|
||||
#include "inferno/assert.h" |
||||
|
||||
namespace std { |
||||
|
||||
// Can't believe this is not in the standard library
|
||||
|
||||
inline uint32_t stou(const char* string) |
||||
{ |
||||
unsigned long size = std::stoul(string); |
||||
ASSERT(size <= std::numeric_limits<uint32_t>::max(), "String util not in uint32_t range '{}'", string); |
||||
return static_cast<uint32_t>(size); |
||||
} |
||||
|
||||
inline uint32_t stou(const std::string& string) |
||||
{ |
||||
return stou(string.c_str()); |
||||
} |
||||
|
||||
} // namespace std
|
||||
|
||||
|
||||
#endif // UTIL_STRING_H
|
Loading…
Reference in new issue