Sfoglia il codice sorgente

AK: Add StringView::substring_view(size_t) overload.

asynts 4 anni fa
parent
commit
d831b5738d
2 ha cambiato i file con 6 aggiunte e 0 eliminazioni
  1. 5 0
      AK/StringView.cpp
  2. 1 0
      AK/StringView.h

+ 5 - 0
AK/StringView.cpp

@@ -193,6 +193,11 @@ StringView StringView::substring_view(size_t start, size_t length) const
     ASSERT(start + length <= m_length);
     ASSERT(start + length <= m_length);
     return { m_characters + start, length };
     return { m_characters + start, length };
 }
 }
+StringView StringView::substring_view(size_t start) const
+{
+    ASSERT(start <= m_length);
+    return { m_characters + start, length() - start };
+}
 
 
 StringView StringView::substring_view_starting_from_substring(const StringView& substring) const
 StringView StringView::substring_view_starting_from_substring(const StringView& substring) const
 {
 {

+ 1 - 0
AK/StringView.h

@@ -98,6 +98,7 @@ public:
     Optional<size_t> find_last_of(const StringView&) const;
     Optional<size_t> find_last_of(const StringView&) const;
 
 
     StringView substring_view(size_t start, size_t length) const;
     StringView substring_view(size_t start, size_t length) const;
+    StringView substring_view(size_t start) const;
     Vector<StringView> split_view(char, bool keep_empty = false) const;
     Vector<StringView> split_view(char, bool keep_empty = false) const;
     Vector<StringView> split_view(const StringView&, bool keep_empty = false) const;
     Vector<StringView> split_view(const StringView&, bool keep_empty = false) const;