summaryrefslogtreecommitdiff
path: root/AK
AgeCommit message (Collapse)Author
2023-01-31AK: Fix all quadratic-time append-loops over ByteBufferBen Wiederhake
2023-01-31AK: Remove unused network ordered 'address' variableIman Seyed
2023-01-29AK: Move memory streams from `LibCore`Tim Schumacher
2023-01-29AK: Provide a fallback definition for `std::nothrow`Tim Schumacher
2023-01-29AK: Move bit streams from `LibCore`Tim Schumacher
2023-01-29AK: Move buffered streams from `LibCore`Tim Schumacher
2023-01-29AK: Move `Stream` and `SeekableStream` from `LibCore`Tim Schumacher
`Stream` will be qualified as `AK::Stream` until we remove the `Core::Stream` namespace. `IODevice` now reuses the `SeekMode` that is defined by `SeekableStream`, since defining its own would require us to qualify it with `AK::SeekMode` everywhere.
2023-01-29AK: Move `Handle` from `LibCore` and name it `MaybeOwned`Tim Schumacher
The new name should make it abundantly clear what it does.
2023-01-29AK: Remove `Buffered`Tim Schumacher
2023-01-29AK: Deprecate the old `AK::Stream`Tim Schumacher
This also removes a few cases where the respective header wasn't actually required to be included.
2023-01-29AK: Add DeprecatedString::from_utf8()Andreas Kling
This will be used in Jakt to help transition off of DeprecatedString.
2023-01-29AK: Add two helpers to DeprecatedStringCodePointIteratorAndreas Kling
2023-01-28AK: Remove `try_` prefix from FixedArray creation functionsLinus Groh
2023-01-28AK: Add support for the new FlyString to StringViewTimothy Flynn
2023-01-28AK: Delete the StringView move-assignment operator for various typesTimothy Flynn
2023-01-28AK: Add DeprecatedStringCodePointIteratorAndreas Kling
This is a safe iterator over the underlying code points. It will be used in Jakt to assist in the migration away from DeprecatedString.
2023-01-28AK: Add String::trimTimothy Flynn
2023-01-28AK: Add String::joinTimothy Flynn
2023-01-28AK: Allow the kernel to have access to StringBuilder::to_stringTimothy Flynn
This is mostly to prevent String.h from acquiring ifdef-soup. In any case, it's fine for the kernel to see this symbol as it is fallible.
2023-01-27AK: Remove StringBuilder::build() in favor of to_deprecated_string()Linus Groh
Having an alias function that only wraps another one is silly, and keeping the more obvious name should flush out more uses of deprecated strings. No behavior change.
2023-01-27AK: Remove unimplemented methodsSam Atkins
2023-01-27AK: Remove unused DateTimeLexer classSam Atkins
2023-01-27AK: Add an overload of String::find_byte_offset for StringViewTimothy Flynn
2023-01-24AK: Add convenience substring wrappers to String to exclude a lengthTimothy Flynn
These overloads exist on other string classes and are used throughout the code base.
2023-01-24AK: Add a method to create a String with a repeated code pointTimothy Flynn
2023-01-24AK: Add a method to find the byte offset of a code pointTimothy Flynn
2023-01-24AK: Remove [[nodiscard]] attribute from String methods returning ErrorOrTimothy Flynn
2023-01-24AK: Make HashMap::try_ensure work with a fallible construction callbackNico Weber
Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2023-01-24AK: Print leading zeroes after the dot for FixedPoint numbersNico Weber
As a nearby comment says, "This is a terrible approximation". This doesn't make things less terrible, but it does make things more correct in the given framework of terribleness. Fixes #17156.
2023-01-23AK: Make FixedPoint::create_raw public and constexprNico Weber
2023-01-22AK: Make NonnullPtrVectors shuffleableSam Atkins
AK::shuffle() doesn't work on these, because their operator[] returns a reference to the pointed-at value, instead of to the NonnullPtr itself.
2023-01-22AK: Add spec comments to Utf16CodePointIterator::operator*()Nico Weber
2023-01-22AK: Reduce String's allocated data by one byteTimothy Flynn
This was copied from allocation_size_for_stringimpl, which had to ensure the string is null-terminated. String makes no such guarantee.
2023-01-22AK: Define is_trivially_serializable trait for Little and BigEndian<>Karol Kosek
This will allow us get LittleEndian<> and BigEndian<> wrapped types directly from Stream::read_value<>().
2023-01-22AK: Add a String factory to create a string from a single code pointTimothy Flynn
2023-01-22AK: Change String's default constructor to be constantTimothy Flynn
This allows creating expressions such as: constexpr Array<String, 10> {};
2023-01-21Everywhere: Remove string.h include from AK/Traits.h and resolve falloutAndrew Kaster
A lot of places were relying on AK/Traits.h to give it strnlen, memcmp, memcpy and other related declarations. In the quest to remove inclusion of LibC headers from Kernel files, deal with all the fallout of this included-everywhere header including less things.
2023-01-21AK: Remove `FileStream`Tim Schumacher
2023-01-21AK: Add `split()` for `String`martinfalisse
2023-01-21AK: Rename double_hash to rehash_for_collisionTimothy Flynn
The name is currently quite confusing as it indicates it hashes doubles.
2023-01-21AK: Add a type alias for DistinctNumeric's underlying typeTimothy Flynn
2023-01-21AK: Remove `InputBitStream` and `OutputBitStream`Tim Schumacher
2023-01-20AK: Remove `DuplexMemoryStream`Tim Schumacher
2023-01-20AK: Disable use of consteval in String::from_utf8_short_string for AppleTimothy Flynn
This causes an ICE on older versions of clang, and Apple's clang is currently based on such a version.
2023-01-20AK: Support creating known short string literals at compile timeTimothy Flynn
In cases where we know a string literal will fit in the short string storage, we can do so at compile time without needing to handle error propagation. If the provided string literal is too long, a compilation error will be emitted due to the failed VERIFY statement being a non- constant expression.
2023-01-19AK: Move the AK::FixedPoint formatter to FixedPoint.hTimothy Flynn
This does not need to be defined in Format.h. This causes FixedPoint.h to be included everywhere. This is particularly going to be an issue when trying to include <CoreServices/CoreServices.h> on macOS. The macOS SDK defines its own FixedPoint structure which will conflict with ours.
2023-01-19AK: Don't write trailing zeros with %gPeter Elliott
2023-01-18AK: Unify kernel debug messages, avoid printing time if unavailablekonrad
2023-01-18AK: Patch `ArbitrarySizedEnum` operators for missing constructorkonrad
Patch kindly provided by Ali on #aarch64 on Discord. Co-authored-by: Ali Mohammad Pur <mpfard@serenityos.org>
2023-01-18AK+LibUnicode: Provide Unicode-aware caseless String matchingTimothy Flynn
The Unicode spec defines much more complicated caseless matching algorithms in its Collation spec. This implements the "basic" case folding comparison.