summaryrefslogtreecommitdiff
path: root/AK/Trie.h
AgeCommit message (Collapse)Author
2022-02-16AK+Kernel: Specialize Trie for NNOP<KString> and use it in UnveilNodeIdan Horowitz
This let's us avoid the infallible String allocations.
2022-02-15AK+Kernel: OOM-harden most parts of TrieAli Mohammad Pur
The only part of Unveil that can't handle OOM gracefully is the String::formatted() use in the node metadata.
2022-02-03AK: Stop using the make<T> factory function in TrieIdan Horowitz
This function is infallible, and so we would like to exclude it from the Kernel, which includes this header.
2022-01-05AK: Use MUST + try_empend so AK::Trie continues to compile in the kernelBrian Gianforcaro
2021-06-08AK: Add children() accessor to TrieMax Wipfli
2021-05-19Everywhere: Add missing includes for <AK/OwnPtr.h>Gunnar Beutner
Previously <AK/Function.h> also included <AK/OwnPtr.h>. That's about to change though. This patch fixes a few build problems that will occur when that change happens.
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-11AK: Annotate Trie functions as [[nodiscard]]Brian Gianforcaro
2021-04-10AK+Everywhere: Make StdLibExtras templates less wrapper-yAnotherTest
This commit makes the user-facing StdLibExtras templates and utilities arguably more nice-looking by removing the need to reach into the wrapper structs generated by them to get the value/type needed. The C++ standard library had to invent `_v` and `_t` variants (likely because of backwards compat), but we don't need to cater to any codebase except our own, so might as well have good things for free. :^)
2020-12-30AK: Replace some SFINAE with requires clauses, clean up existing onesAndrew Kaster
Add requires clauses to constraints on InputStream and OutputStream operator<< / operator>>. Make the constraint on String::number a requires clause instead of SFINAE. Also, fix some unecessary IsSame in Trie where specialized traits exist for the given use cases.
2020-12-26AK: Fix busted Trie testAnotherTest
This wasn't testing anything ^^'
2020-12-26AK: Add a prefix tree implementationAnotherTest
`AK::Trie` can be keyed by any given hashable type, and can store any metadata (including nothing at all). Also adds a test.