7template <
typename... ARGS>
16 static constexpr plUInt32 TempStringLength = 64;
18 static constexpr plUInt32 MaxNumParameters = 12;
22 : m_Arguments(std::forward<ARGS>(args)...)
28 : m_Arguments(std::forward<ARGS>(args)...)
46 char tmp[MaxNumParameters][TempStringLength];
47 ReplaceString<0>(tmp, param);
56 char tmp[MaxNumParameters][TempStringLength];
57 ReplaceString<0>(tmp, param);
64 typename std::enable_if<
sizeof...(ARGS) != N>::type ReplaceString(
char tmp[MaxNumParameters][TempStringLength],
plStringView* pViews)
const
66 static_assert(N < MaxNumParameters,
"Maximum number of format arguments reached");
69 pViews[N] = BuildString(tmp[N], TempStringLength - 1, std::get<N>(m_Arguments));
72 ReplaceString<N + 1>(tmp, pViews);
77 typename std::enable_if<
sizeof...(ARGS) == N>::type ReplaceString(
char tmp[MaxNumParameters][TempStringLength],
plStringView* pViews)
const
83 std::tuple<ARGS...> m_Arguments;
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
const char * GetStartPointer() const
Returns the start of the view range.
Definition StringView.h:102
bool IsEmpty() const
Returns whether the string is an empty string.
Definition StringView_inl.h:85