From: clyne Date: Fri, 26 Jun 2020 22:11:57 +0000 (-0400) Subject: Add support for range-based for loops X-Git-Url: https://code.bitgloo.com/?a=commitdiff_plain;h=84401c74731927a237ccd8e7b59444d3f0630664;p=clyne%2Fconstexpr-to-string.git Add support for range-based for loops --- diff --git a/to_string.hpp b/to_string.hpp index 21b5f48..1d88b1a 100644 --- a/to_string.hpp +++ b/to_string.hpp @@ -43,19 +43,15 @@ struct to_string_t { } } - /** - * Allows implicit conversion of this object to a `char *`. - */ - constexpr operator char_type *() { - return buf; - } + // Support implicit casting to `char *` or `const char *`. + constexpr operator char_type *() { return buf; } + constexpr operator const char_type *() const { return buf; } - /** - * Allows implicit conversion of this object to a `const char *`. - */ - constexpr operator const char_type *() const { - return buf; - } + // Support range-based for loops + constexpr auto begin() { return buf; } + constexpr auto begin() const { return buf; } + constexpr auto end() { return buf + sizeof(buf) / sizeof(buf[0]); } + constexpr auto end() const { return buf + sizeof(buf) / sizeof(buf[0]); } }; /**