forked from qt-creator/qt-creator
Utils: Add size functions to algorithms
So you can type Utils::usize(qVector) == Utils::usize(stdVector) without a warning. You can write qVector.reserve(Utils::ssize(stdVector) etc.. Change-Id: If5b93b7daa8d4126cf588b0f025b99444bc8e8af Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -849,4 +849,16 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
|
|||||||
merge,
|
merge,
|
||||||
std::less<std::decay_t<decltype(*std::begin(input1))>>{});
|
std::less<std::decay_t<decltype(*std::begin(input1))>>{});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename Container>
|
||||||
|
std::make_unsigned_t<typename Container::size_type> usize(Container container)
|
||||||
|
{
|
||||||
|
return static_cast<std::make_unsigned_t<typename Container::size_type>>(container.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Container>
|
||||||
|
std::make_signed_t<typename Container::size_type> ssize(Container container)
|
||||||
|
{
|
||||||
|
return static_cast<std::make_signed_t<typename Container::size_type>>(container.size());
|
||||||
|
}
|
||||||
} // namespace Utils
|
} // namespace Utils
|
||||||
|
|||||||
Reference in New Issue
Block a user