18 template<
size_t N,
typename Char =
char>
26 template<
size_t N,
typename Char =
char>
33 constexpr static size_t Size =
N;
85 template<
size_t Count>
86 requires (Count <=
Size)
114 template<CtString Str>
117 static constexpr auto literal = []<
size_t...
Idxes> (std::index_sequence<
Idxes...>)
124 } (std::make_index_sequence<
Str.Size> {});
129 template<CtString Str>
132 static constexpr auto literal = []<
size_t...
Idxes> (std::index_sequence<
Idxes...>)
139 } (std::make_index_sequence<
Str.Size> {});
144 template<
size_t N1,
size_t N2,
typename Char>
150 template<
typename Char>
159 template<
size_t N,
typename Char>
165 template<Util::CtString S>
166 constexpr auto operator""_ct () noexcept
Container< T > Filter(const Container< T > &c, F f)
constexpr size_t StringBufSize(const Char *str) noexcept
CtString(RawStr< N, Char >) -> CtString< N - 1, Char >
constexpr auto operator+(RawStr< N1, Char > s1, CtString< N2, Char > s2) noexcept
static constexpr auto FromUnsized(const Char *s) noexcept
constexpr auto operator+(const CtString< N2, Char > &s2) const noexcept
constexpr auto Chop() const noexcept
constexpr auto Data() const noexcept
constexpr bool EndsWith(Char ch) const noexcept
constexpr Char & operator[](size_t pos) noexcept
constexpr CtString() noexcept=default
constexpr bool IsEmpty() const noexcept
static constexpr size_t Size
constexpr auto operator<=>(const CtString &) const =default