10 template <
unsigned Size>
18 for (
unsigned i = 0; i != Size; ++i)
21 constexpr operator char const*()
const
29 template <
unsigned OtherSize>
37 c1 =
static_cast<unsigned char>(*s1++);
38 c2 =
static_cast<unsigned char>(*s2++);
56 template <
unsigned... Length>
57 constexpr auto FixConcat(
const char (&... strings)[Length])
59 constexpr unsigned Count = (... + Length) -
sizeof...(Length);
64 for (
const char* src : {strings...})
66 for (; *src !=
'\0'; ++src, ++dst)
Utilitarian class to store and modify strings in compile time.
Definition fixed_string.hpp:12
constexpr FixedString(char const *s)
Definition fixed_string.hpp:16
constexpr int compare(FixedString< OtherSize > const &other) const
glibc strcmp implementation.
Definition fixed_string.hpp:30
static constexpr auto m_size
Definition fixed_string.hpp:47
char m_buffer[Size+1]
Definition fixed_string.hpp:48
constexpr FixedString()
Definition fixed_string.hpp:14
Definition range_file_body.hpp:18
constexpr auto FixConcat(const char(&... strings)[Length])
Allows for compile-time string concatenation. Use very sparingly.
Definition fixed_string.hpp:57