summaryrefslogtreecommitdiff
path: root/Kernel/KString.h
AgeCommit message (Collapse)Author
2021-08-13Kernel: Annotate KString methods as [[nodiscard]]Brian Gianforcaro
2021-07-07Kernel: Add formatter function for OwnPtr<KString>Max Wipfli
This adds a formatter function for OwnPtr<KString>. This is added mainly because lots of dbgln() statements generate Strings (such as absolute paths) which are only used for debugging. Instead of catching possible OOM situations at all the dbgln() callsites, this makes it possible to let the formatter code handle those situations by outputting "[out of memory]" if the OwnPtr is null.
2021-06-02Kernel: Add operator delete for KStringGunnar Beutner
This doesn't change anything because our global operator delete also calls kfree() - however instead of relying on this implementation detail this makes this dependency more explicit.
2021-06-02Kernel: Make KString non-copyable and non-movableGunnar Beutner
The user is supposed to hold these in an OwnPtr but bad things would happen if the user takes these out of the OwnPtr so let's make the class non-copyable and non-movable.
2021-05-31Kernel: Add KString::must_{..} factory methodsBrian Gianforcaro
There are a bunch of places like drivers which for all intense and purposes can't really fail allocation during boot, and if they do fail we should crash immediately. This change adds `KString::must_create_uninitialized(..)` as well as `KString::must_create(..)` for use during early boot initialization of the Kernel. They enforce that they are only used during early boot.
2021-05-28Kernel: Add KString, a single-owner string with OOM failure exposionAndreas Kling
This is a simple string class for use in the kernel. It encapsulates a length + character array in a single-allocation object. Main differences from AK::String: - Single-owner (no reference counting.) - Allocation failures are exposed, not hidden. The basic idea is to allow better and more precise string management in the kernel.