Update README.md
parent
a436ba6867
commit
0f38f29202
@ -1,2 +1,25 @@
|
|||||||
# constexpr-to-string
|
# constexpr-to-string
|
||||||
C++17 code to convert integers to strings at compile-time
|
|
||||||
|
**Features:**
|
||||||
|
|
||||||
|
* Convert any integral type to a string at compile-time
|
||||||
|
* String can be in binary, hexadecimal, or any base in-between
|
||||||
|
* No external dependencies, only includes `type_traits` for type-checking
|
||||||
|
* Works best in C++20 GCC or C++17/20 Clang
|
||||||
|
|
||||||
|
**How to use:**
|
||||||
|
|
||||||
|
This single header file provides a `to_string` utility, which may be used as below:
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
const char *number = to_string<2147483648999954564, 16>; // produces "1DCD65003B9A1884"
|
||||||
|
puts(number);
|
||||||
|
puts(to_string<-42>); // produces "-42"
|
||||||
|
puts(to_string<30, 2>); // produces "11110"
|
||||||
|
```
|
||||||
|
|
||||||
|
With `to_string`, all that will be found in program disassembly are the resulting string literals, as if you wrote the strings yourself.
|
||||||
|
|
||||||
|
**Known issues:**
|
||||||
|
|
||||||
|
* With C++17 GCC, `to_string` must be used to initialize variables; otherwise, the integer-string conversion is done at run-time.
|
||||||
|
Loading…
Reference in New Issue