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