feat(string): add CTStringView and CTString concepts
This commit is contained in:
@ -18,6 +18,9 @@ NAMESPACE_MODULE_BEGIN(Utility)
|
||||
|
||||
NAMESPACE_PRIVATE_BEGIN
|
||||
|
||||
template <typename T > struct TIsTString : FFalse { };
|
||||
template <typename T, typename A> struct TIsTString<TString<T, A>> : FTrue { };
|
||||
|
||||
template <typename T>
|
||||
class TCStringFromTString final : FNoncopyable
|
||||
{
|
||||
@ -58,6 +61,8 @@ private:
|
||||
|
||||
NAMESPACE_PRIVATE_END
|
||||
|
||||
template <typename T> concept CTString = NAMESPACE_PRIVATE::TIsTString<TRemoveCV<T>>::Value;
|
||||
|
||||
/** The default string allocator that uses SSO and can be placed right into FAny without dynamically allocating memory. */
|
||||
template <CCharType T>
|
||||
using TDefaultStringAllocator = TInlineAllocator<(40 - 3 * sizeof(size_t)) / sizeof(T)>;
|
||||
|
Reference in New Issue
Block a user