3#ifndef pRC_CORE_BASIC_STRING_H
4#define pRC_CORE_BASIC_STRING_H
18 static constexpr auto size()
31 static constexpr auto check([[maybe_unused]]
Index const index)
35 if(!(index <=
size()))
54 constexpr String(
char const (&
string)[N + 1])
59 template<IsSame<
char>... Ts>
60 requires(
sizeof...(Ts) ==
size())
62 : mData{chars...,
'\0'}
66 constexpr decltype(
auto)
operator[](
Index const index) &&
69 return move(mData)[index];
72 constexpr decltype(
auto)
operator[](
Index const index)
const &&
75 return move(mData)[index];
78 constexpr decltype(
auto)
operator[](
Index const index) &
84 constexpr decltype(
auto)
operator[](
Index const index)
const &
90 constexpr auto find(
char const character)
const
94 if(mData[
i] == character)
102 template<Index P, Index L>
108 [
this, &sub](
auto const i)
110 sub[
i] = mData[P +
i];
130 template<
Index... Is>
131 requires(
sizeof...(Is) == N + 1)
133 char const (&
string)[N + 1])
134 : mData{
string[Is]...}
155 template<Size M, Size N>
161 [&concat, &lhs](
auto const i)
166 [&concat, &rhs](
auto const i)
168 concat[M +
i] = rhs[
i];
174 template<Size M, Size N>
176 char const (&rhs)[N])
181 template<Size M, Size N>
182 static inline constexpr auto operator+(
char const (&lhs)[M],
Definition sequence.hpp:29
static constexpr auto size()
Definition string.hpp:18
constexpr auto find(char const character) const
Definition string.hpp:90
constexpr auto cString() const &
Definition string.hpp:124
constexpr String(Ts const &...chars)
Definition string.hpp:61
constexpr String(char const (&string)[N+1])
Definition string.hpp:54
constexpr auto cString() &&=delete
constexpr String(String &&)=default
constexpr String & operator=(String const &) &=default
static constexpr auto empty()
Definition string.hpp:23
constexpr String()
Definition string.hpp:49
constexpr auto substring() const
Definition string.hpp:104
constexpr auto cString() const &&=delete
constexpr String(String const &)=default
constexpr String & operator=(String &&) &=default
Definition concepts.hpp:19
Definition string.hpp:147
int i
Definition gmock-matchers-comparisons_test.cc:603
static void error(Xs &&...args)
Definition log.hpp:14
Definition cholesky.hpp:10
Size Index
Definition basics.hpp:32
std::size_t Size
Definition basics.hpp:31
static constexpr auto makeSeries()
Definition sequence.hpp:390
constexpr auto cDebugLevel
Definition config.hpp:48
static constexpr auto range(F &&f, Xs &&...args)
Definition range.hpp:18
static constexpr auto operator+(Sequence< T, As... > const, Sequence< T, Bs... > const)
Definition sequence.hpp:107
String(char const &) -> String< 1 >
constexpr Size cMaxDefaultAlignment
Definition config.hpp:54