1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:47:34 +00:00

AK+Kernel: Specialize Trie for NNOP<KString> and use it in UnveilNode

This let's us avoid the infallible String allocations.
This commit is contained in:
Idan Horowitz 2022-02-15 20:59:25 +02:00 committed by Andreas Kling
parent 0218c62be4
commit 316fa0c3f3
6 changed files with 31 additions and 13 deletions

View file

@ -6,8 +6,8 @@
#pragma once
#include <AK/String.h>
#include <AK/Trie.h>
#include <Kernel/KString.h>
namespace Kernel {
@ -49,8 +49,8 @@ struct UnveilMetadata {
}
};
struct UnveilNode final : public Trie<String, UnveilMetadata, Traits<String>, UnveilNode> {
using Trie<String, UnveilMetadata, Traits<String>, UnveilNode>::Trie;
struct UnveilNode final : public Trie<NonnullOwnPtr<KString>, UnveilMetadata, Traits<NonnullOwnPtr<KString>>, UnveilNode> {
using Trie<NonnullOwnPtr<KString>, UnveilMetadata, Traits<NonnullOwnPtr<KString>>, UnveilNode>::Trie;
bool was_explicitly_unveiled() const { return this->metadata_value().explicitly_unveiled; }
UnveilAccess permissions() const { return this->metadata_value().permissions; }