mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:17:35 +00:00
AK: Add begin() and end() to String and StringView
Now it's possible to use range-based for loops with String and StringView.
This commit is contained in:
parent
a0e18f4450
commit
e07f50c398
3 changed files with 15 additions and 6 deletions
10
AK/String.h
10
AK/String.h
|
@ -57,6 +57,8 @@ namespace AK {
|
|||
|
||||
class String {
|
||||
public:
|
||||
using ConstIterator = const char*;
|
||||
|
||||
~String() {}
|
||||
|
||||
String() {}
|
||||
|
@ -144,12 +146,14 @@ public:
|
|||
bool is_empty() const { return length() == 0; }
|
||||
size_t length() const { return m_impl ? m_impl->length() : 0; }
|
||||
const char* characters() const { return m_impl ? m_impl->characters() : nullptr; }
|
||||
char operator[](size_t i) const
|
||||
const char& operator[](size_t i) const
|
||||
{
|
||||
ASSERT(m_impl);
|
||||
return (*m_impl)[i];
|
||||
}
|
||||
|
||||
ConstIterator begin() const { return characters(); }
|
||||
ConstIterator end() const { return begin() + length(); }
|
||||
|
||||
bool starts_with(const StringView&) const;
|
||||
bool ends_with(const StringView&) const;
|
||||
bool starts_with(char) const;
|
||||
|
@ -302,5 +306,5 @@ String escape_html_entities(const StringView& html);
|
|||
}
|
||||
|
||||
using AK::CaseInsensitiveStringTraits;
|
||||
using AK::String;
|
||||
using AK::escape_html_entities;
|
||||
using AK::String;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue