forked from qt-creator/qt-creator
Utils: Rebase SmallStringView on std::string_view
There are still some methods missing but with C++20 we can maybe remove SmallStringView. Change-Id: I65a1eacda0a07cec824f1837e385faa01fc825e9 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -64,8 +64,8 @@ template<uint Size>
|
||||
class BasicSmallString
|
||||
{
|
||||
public:
|
||||
using iterator = SmallStringView::iterator;
|
||||
using const_iterator = SmallStringView::const_iterator;
|
||||
using const_iterator = Internal::SmallStringIterator<std::random_access_iterator_tag, const char>;
|
||||
using iterator = Internal::SmallStringIterator<std::random_access_iterator_tag, char>;
|
||||
using reverse_iterator = std::reverse_iterator<iterator>;
|
||||
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
||||
using size_type = std::size_t;
|
||||
@@ -116,11 +116,12 @@ public:
|
||||
{}
|
||||
|
||||
explicit BasicSmallString(const_iterator begin, const_iterator end)
|
||||
: BasicSmallString(SmallStringView{begin, end})
|
||||
: BasicSmallString{std::addressof(*begin), static_cast<std::size_t>(std::distance(begin, end))}
|
||||
{}
|
||||
|
||||
explicit BasicSmallString(iterator begin, iterator end)
|
||||
: BasicSmallString(SmallStringView{begin, end})
|
||||
|
||||
: BasicSmallString{std::addressof(*begin), static_cast<std::size_t>(std::distance(begin, end))}
|
||||
{}
|
||||
|
||||
template<typename Type, typename = std::enable_if_t<std::is_pointer<Type>::value>>
|
||||
|
||||
Reference in New Issue
Block a user