]> code.bitgloo.com Git - clyne/constexpr-to-string.git/commitdiff
Add support for range-based for loops
authorclyne <clyne@bitgloo.com>
Fri, 26 Jun 2020 22:11:57 +0000 (18:11 -0400)
committerGitHub <noreply@github.com>
Fri, 26 Jun 2020 22:11:57 +0000 (18:11 -0400)
to_string.hpp

index 21b5f489339371e7973fdc7c712ac746cfa18d8f..1d88b1aa13788d2f6592ad61bd7db9c0b2fb858a 100644 (file)
@@ -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]); }
 };
 
 /**