Adding constexpr_to_string namespace

Namespace is used to prevent pollution of global namespace
by digits and digits_count symbols.
pull/3/head
SecMeant 4 years ago
parent 95d70525ce
commit 2717bb70ea

@ -9,6 +9,8 @@
#include <type_traits> #include <type_traits>
namespace constexpr_to_string {
constexpr char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; constexpr char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
constexpr auto digit_count = sizeof(digits) / sizeof(digits[0]); constexpr auto digit_count = sizeof(digits) / sizeof(digits[0]);
@ -68,10 +70,12 @@ class to_string_t {
constexpr const auto end() const noexcept { return buf + size(); } constexpr const auto end() const noexcept { return buf + size(); }
}; };
} // namespace constexpr_to_string
/** /**
* Simplifies use of `to_string_t` from `to_string_t<N>()` to `to_string<N>`. * Simplifies use of `to_string_t` from `to_string_t<N>()` to `to_string<N>`.
*/ */
template<auto N, int base = 10, typename char_type = char> template<auto N, int base = 10, typename char_type = char>
constexpr to_string_t<N, base, char_type> to_string; constexpr constexpr_to_string::to_string_t<N, base, char_type> to_string;
#endif // TCSULLIVAN_TO_STRING_HPP_ #endif // TCSULLIVAN_TO_STRING_HPP_

Loading…
Cancel
Save