Sergey Bugaev
127d168def
AK: Add a keep_empty argument to String[View]::substring{_view}
2019-09-28 18:29:42 +02:00
MinusGix
05f641a5a9
StringView: Add starts_with method
2019-09-13 09:22:30 +02:00
Andreas Kling
d38bd3935b
AK: Add StringView::hash()
...
This grabs the hash from the underlying StringImpl if there is one,
otherwise it's computed on the fly.
2019-08-25 06:45:31 +02:00
Andreas Kling
2349dc1a21
StringView: Add StringView::operator==(StringView)
...
Previously we'd implicitly convert the second StringView to a String
when comparing two StringViews, which is obviously not what we wanted.
2019-08-15 14:09:27 +02:00
Andreas Kling
cce2ea9bb0
AK: Add StringView::to_int()
...
This is a shameless copy-paste of String::to_int(). We should find some
way to share this code between String and StringView instead of having
two duplicate copies like this.
2019-08-04 11:44:20 +02:00
Andreas Kling
0e75aba7c3
StringView: Rename characters() to characters_without_null_termination().
...
This should make you think twice before trying to use the const char* from
a StringView as if it's a null-terminated string.
2019-07-08 15:38:44 +02:00
Andreas Kling
50677a58d4
StringView: Make it easy to construct from a ByteBuffer.
2019-06-29 12:07:46 +02:00
Sergey Bugaev
1a697f70db
AK: Add more StringView utilities for making substrings.
...
These two allow making a new substring view starting from,
or starting after, an existing substring view.
Also make use of one of them in the kernel.
2019-06-14 06:24:02 +02:00
Andreas Kling
cdb44be703
StringView: Store a StringImpl* rather than a String*.
2019-06-08 23:55:13 +02:00
Andreas Kling
6a51093ab1
AK: Add String::operator==(const char*).
...
Without this function, comparing a String to a const char* will instantiate
a temporary String which is obviously not great.
Also add some missing null checks to StringView::operator==(const char*).
2019-06-08 18:32:09 +02:00
Andreas Kling
de9edb0169
StringView: operator==(const char*) needs to stop when the view ends.
...
We were comparing past the end of the view, which was clearly not correct.
2019-06-07 19:22:58 +02:00
Robin Burchell
f9ba7adae2
StringView: Make construction of String from a StringView containing a String cheaper
...
... at the cost of an additional pointer per view.
2019-06-03 20:27:05 +02:00
Robin Burchell
b55b6cd7fc
AK: Add implicit String -> StringView conversion
...
And tidy up existing view() users.
2019-06-02 12:55:51 +02:00
Robin Burchell
0dc9af5f7e
Add clang-format file
...
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00
Andreas Kling
33920df299
AK: Try to use StringViews more for substrings and splitting.
2019-04-16 02:39:16 +02:00
Andreas Kling
461aa550eb
AK: Add a StringView class.
2019-04-15 14:56:37 +02:00