forked from qt-creator/qt-creator
Utils: Improve tests for small string
It fixes a capacity bug. Change-Id: I3545eb32d8b23514da286c2df77aebc197df8252 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -39,6 +39,7 @@ public:
|
||||
using reverse_iterator = std::reverse_iterator<iterator>;
|
||||
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
||||
using size_type = std::size_t;
|
||||
static constexpr size_type Capacity = Size;
|
||||
|
||||
static_assert(Size < 64 ? sizeof(Internal::StringDataLayout<Size>) == Size + 1
|
||||
: sizeof(Internal::StringDataLayout<Size>) == Size + 16,
|
||||
|
@@ -264,7 +264,7 @@ struct alignas(16) StringDataLayout<MaximumShortStringDataAreaSize,
|
||||
|
||||
StringDataLayout(const char *string, size_type size, size_type capacity) noexcept
|
||||
: size_{static_cast<int>(size)}
|
||||
, capacity_{static_cast<int>(capacity)}
|
||||
, capacity_{std::max<int>(capacity, MaximumShortStringDataAreaSize)}
|
||||
{
|
||||
if (Q_LIKELY(capacity <= shortStringCapacity())) {
|
||||
std::char_traits<char>::copy(buffer, string, size);
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user