CommonLib
Loading...
Searching...
No Matches
StringTypes.inl
Go to the documentation of this file.
1namespace hedgedev::csl::ut::expr
2{
3 template <AnyString TDst, AnyString TSrc>
4 inline constexpr TDst CreateInferredString(const TSrc& in_rStr)
5 {
6 const auto result = InferredStringView<TSrc>(in_rStr);
7
8 return TDst(result.begin(), result.end());
9 }
10
11 template <AnyString... TArgs>
13 {
14 std::tuple<size_t, size_t> result{ 0, 0 };
15 size_t i{};
16
17 (
18 [&]
19 {
20 size_t size = sizeof(GetCharType_t<TArgs>);
21
22 if (std::get<1>(result) < size)
23 result = { i, size };
24
25 i++;
26 }
27
28 (), ...
29 );
30
31 return std::get<0>(result);
32 }
33}
constexpr TDst CreateInferredString(const TSrc &in_rStr)
Definition StringTypes.inl:4
constexpr size_t GetStringTypePrecedence()
Definition StringTypes.inl:12
Definition Expressions.inl:2