Utils: Add iterator constructors to small string

Change-Id: I34e15177268f0733200d25c90fd935485c3176ae
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2021-02-18 17:36:36 +01:00
parent dab168fa81
commit 20690236d7
3 changed files with 26 additions and 10 deletions

View File

@@ -64,8 +64,8 @@ template<uint Size>
class BasicSmallString
{
public:
using iterator = Internal::SmallStringIterator<std::random_access_iterator_tag, char>;
using const_iterator = Internal::SmallStringIterator<std::random_access_iterator_tag, const char>;
using iterator = SmallStringView::iterator;
using const_iterator = SmallStringView::const_iterator;
using reverse_iterator = std::reverse_iterator<iterator>;
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
using size_type = std::size_t;
@@ -113,8 +113,15 @@ public:
BasicSmallString(const char *string, size_type size)
: BasicSmallString(string, size, size)
{
}
{}
explicit BasicSmallString(const_iterator begin, const_iterator end)
: BasicSmallString(SmallStringView{begin, end})
{}
explicit BasicSmallString(iterator begin, iterator end)
: BasicSmallString(SmallStringView{begin, end})
{}
template<typename Type, typename = std::enable_if_t<std::is_pointer<Type>::value>>
BasicSmallString(Type characterPointer)