Reduce sign conversion warnings

Add some static casts to make explicit some sign conversions in order to
avoid warnings about the same. This is by no means an attempt to fix all
such warnings, but these instances were especially egregious as they
would be raised across many source files.

Also change a post-increment of an iterator to pre-increment. At worst,
this does nothing, but pre-increment is potentially more efficient.
This commit is contained in:
Matthew Woehlke
2023-08-29 15:57:24 -04:00
parent b938e7de9c
commit 7b3464320f
2 changed files with 8 additions and 6 deletions

View File

@@ -747,8 +747,10 @@ public:
ExpandElements expandElements = ExpandElements::Yes,
EmptyElements emptyElements = EmptyElements::No)
{
this->insert(this->begin() + this->ComputeInsertIndex(index), first, last,
expandElements, emptyElements);
auto const offset =
static_cast<difference_type>(this->ComputeInsertIndex(index));
this->insert(this->begin() + offset, first, last, expandElements,
emptyElements);
return *this;
}
template <typename InputIterator>
@@ -1186,13 +1188,13 @@ private:
auto size = container.size();
insertPos = cmList::Insert(container, insertPos, *first,
expandElements, emptyElements);
insertPos += container.size() - size;
insertPos += static_cast<decltype(delta)>(container.size() - size);
}
} else {
for (; first != last; ++first) {
if (!first->empty() || emptyElements == EmptyElements::Yes) {
insertPos = container.insert(insertPos, *first);
insertPos++;
++insertPos;
}
}
}

View File

@@ -493,8 +493,8 @@ public:
char ch)
{
std::string out;
out.reserve((first - this->view_.begin()) + count2 +
(this->view_.end() - last));
out.reserve(static_cast<size_type>(first - this->view_.begin()) + count2 +
static_cast<size_type>(this->view_.end() - last));
out.append(this->view_.begin(), first);
out.append(count2, ch);
out.append(last, this->view_.end());