Provides std::from_chars and std::to_chars if not defined in the stdlib <charconv> header. More...
#include <utility>
Macros | |
#define | SEQAN3_CPP_LIB_TO_CHARS IMPLEMENTATION_DEFINED |
A workaround for __cpp_lib_to_chars. More... | |
Provides std::from_chars and std::to_chars if not defined in the stdlib <charconv> header.
| no-api |
A workaround for __cpp_lib_to_chars.
The following table describes what implementation of std::to_chars and std::from_chars will be used
stdlib version | __cpp_lib_to_chars | SEQAN3_CPP_LIB_TO_CHARS | chars_format | to_chars_result | from_chars_result | to_chars (int) | from_chars (int) | to_chars (float) | from_chars (float) |
---|---|---|---|---|---|---|---|---|---|
gcc 7 | undefined and NO <charconv> header | undefined | contrib (llvm) | contrib (llvm) | contrib (llvm) | contrib (llvm) | contrib (llvm) | shim (ostringstream) | shim (strto[f/d/ld]) |
gcc 8 | undefined and <charconv> header | 100000 | contrib (llvm) | stdlib | stdlib | stdlib | stdlib | shim (ostringstream) | shim (strto[f/d/ld]) |
gcc 9 | undefined and <charconv> header | 100000 | contrib (llvm) | stdlib | stdlib | stdlib | stdlib | shim (ostringstream) | shim (strto[f/d/ld]) |
gcc 10 | undefined and <charconv> header | 100000 | stdlib | stdlib | stdlib | stdlib | stdlib | shim (ostringstream) | shim (strto[f/d/ld]) |
gcc 11 | undefined and <charconv> header | 100000* (could be 201611) | stdlib | stdlib | stdlib | stdlib | stdlib | stdlib | stdlib |
Note: gcc 11 implements float too, but does not define __cpp_lib_to_chars