1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 20:47:45 +00:00

AK: Add FlyString, a simple flyweight string class

FlyString is a flyweight string class that wraps a RefPtr<StringImpl>
known to be unique among the set of FlyStrings. The class is very
unoptimized at the moment.

When to use FlyString:

- When you want O(1) string comparison
- When you want to deduplicate a lot of identical strings

When not to use FlyString:

- For strings that don't need either of the above features
- For strings that are likely to be unique
This commit is contained in:
Andreas Kling 2020-03-22 10:12:55 +01:00
parent 0395b25e3f
commit 4f72f6b886
15 changed files with 236 additions and 32 deletions

View file

@ -1,16 +1,17 @@
AK_OBJS = \
../../AK/StringImpl.o \
../../AK/String.o \
../../AK/StringView.o \
../../AK/StringBuilder.o \
../../AK/StringUtils.o \
../../AK/FileSystemPath.o \
../../AK/URL.o \
../../AK/JsonValue.o \
../../AK/FlyString.o \
../../AK/JsonParser.o \
../../AK/JsonValue.o \
../../AK/LogStream.o \
../../AK/MappedFile.o \
../../AK/SharedBuffer.o \
../../AK/String.o \
../../AK/StringBuilder.o \
../../AK/StringImpl.o \
../../AK/StringUtils.o \
../../AK/StringView.o \
../../AK/URL.o \
../../AK/Utf8View.o
LIBC_OBJS = \