summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qstringview.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2017-01-31 00:36:54 +0100
committerMarc Mutz <marc.mutz@kdab.com>2017-03-31 11:23:59 +0000
commit0b9fb15b1a9bd9b5c8658e38c753343ff7ecd390 (patch)
treee4311674dd4268f36419ed6d55619e9d0d9eeb50 /src/corelib/tools/qstringview.h
parent54dd87ca0f331180382c81d78d431db5570175d6 (diff)
QStringView: add mid(), left(), right()
Change-Id: If1d2cf175d51b3c02881e21937b0a2d33b78aadd Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/tools/qstringview.h')
-rw-r--r--src/corelib/tools/qstringview.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/corelib/tools/qstringview.h b/src/corelib/tools/qstringview.h
index b1722e4657..1eb267f78e 100644
--- a/src/corelib/tools/qstringview.h
+++ b/src/corelib/tools/qstringview.h
@@ -183,6 +183,15 @@ public:
Q_DECL_CONSTEXPR QChar at(size_type n) const { return (*this)[n]; }
+ Q_DECL_CONSTEXPR QStringView mid(size_type pos) const
+ { return Q_ASSERT(pos >= 0), Q_ASSERT(pos <= size()), QStringView(m_data + pos, m_size - pos); }
+ Q_DECL_CONSTEXPR QStringView mid(size_type pos, size_type n) const
+ { return Q_ASSERT(pos >= 0), Q_ASSERT(n >= 0), Q_ASSERT(pos + n <= size()), QStringView(m_data + pos, n); }
+ Q_DECL_CONSTEXPR QStringView left(size_type n) const
+ { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data, n); }
+ Q_DECL_CONSTEXPR QStringView right(size_type n) const
+ { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data + m_size - n, n); }
+
//
// STL compatibility API:
//