ladybird/AK
AnotherTest e4412f1f59 AK+Kernel: Make IntrusiveList capable of holding non-raw pointers
This should allow creating intrusive lists that have smart pointers,
while remaining free (compared to the impl before this commit) when
holding raw pointers :^)
As a sidenote, this also adds a `RawPtr<T>` type, which is just
equivalent to `T*`.
Note that this does not actually use such functionality, but is only
expected to pave the way for #6369, to replace NonnullRefPtrVector<T>
with intrusive lists.

As it is with zero-cost things, this makes the interface a bit less nice
by requiring the type name of what an `IntrusiveListNode` holds (and
optionally its container, if not RawPtr), and also requiring the type of
the container (normally `RawPtr`) on the `IntrusiveList` instance.
2021-04-16 22:26:52 +02:00
..
Tests AK: Fix incorrect formatter signing of numbers between -1.0 and 0.0 2021-04-16 17:42:42 +02:00
AllOf.h AK: Publish all_of() 2021-02-17 15:22:21 +01:00
AnyOf.h AK: Publish AK::any_of by default 2021-02-07 11:35:08 +01:00
Array.h AK: Fix integer_sequence_generate_array 2021-03-21 09:35:23 +01:00
Assertions.h Everywhere: Remove unused RELEASE_ASSERT macro 2021-02-23 21:11:53 +01:00
Atomic.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
Badge.h Badge: Access to underlying type 2021-01-15 09:44:21 +01:00
Base64.cpp Everywhere: Remove unnecessary clang-format offs 2021-03-04 11:01:48 +01:00
Base64.h Everywhere: Remove unnecessary headers 3/4 2021-02-08 18:03:57 +01:00
BinaryHeap.h AK: Store BinaryHeap key-value pairs together for efficient swaps 2021-03-13 23:50:07 +01:00
BinarySearch.h Everywhere: Remove unnecessary headers 3/4 2021-02-08 18:03:57 +01:00
BitCast.h AK: Implement bit_cast 2021-03-23 08:22:15 +01:00
Bitmap.h AK: Add BitmapView::set_range_and_verify_that_all_bits_flip() 2021-04-09 17:08:49 +02:00
BitmapView.h AK: Add BitmapView::set_range_and_verify_that_all_bits_flip() 2021-04-09 17:08:49 +02:00
BitStream.h LibCompress+AK: Dont short-circuit error handling propagation 2021-03-16 14:56:50 +01:00
Buffered.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
ByteBuffer.cpp AK: Alter ByteBuffer to utilise memcmp. 2021-02-21 16:34:51 +01:00
ByteBuffer.h AK: Make ByteBuffer::slice(0, size()) a freebie 2021-03-15 18:01:11 +01:00
Checked.h AK: Annotate Checked functions with [[nodiscard]] 2021-04-11 12:50:33 +02:00
CheckedFormatString.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
CircularDeque.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
CircularDuplexStream.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
CircularQueue.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
CMakeLists.txt Meta: Build AK and LibRegex tests in Lagom and for Serenity 2021-02-28 18:19:37 +01:00
Complex.h AK: Add complex number library 2021-03-27 10:20:55 +01:00
Concepts.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
Debug.h.in LibJS: Add initial support for Promises 2021-04-02 10:47:40 +02:00
Demangle.h Revert "AK: Don't demangle in serenity :(" 2020-05-20 16:24:26 +02:00
DistinctNumeric.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
DoublyLinkedList.h AK: Annotate DoublyLinkedList functions with [[nodiscard]] 2021-04-11 12:50:33 +02:00
Endian.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
EnumBits.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
FileStream.h Everywhere: Remove unnecessary headers 4/4 2021-02-08 18:03:57 +01:00
Find.h AK: Find a value in any container offering iterators 2021-01-11 19:45:05 +01:00
FlyString.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
FlyString.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Format.cpp AK: Fix incorrect formatter signing of numbers between -1.0 and 0.0 2021-04-16 17:42:42 +02:00
Format.h AK: Add outln_if and warnln_if 2021-04-16 20:03:35 +02:00
Forward.h AK: Add OutputBitStream class 2021-03-13 20:07:25 +01:00
Function.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
GenericLexer.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
GenericLexer.h AK: Add GenericLexer::retreat() 2020-10-29 11:52:31 +01:00
HashFunctions.h Everywhere: Fix weird includes 2021-02-08 18:03:57 +01:00
HashMap.h AK: Annotate HashMap functions with [[nodiscard]] 2021-04-11 12:50:33 +02:00
HashTable.h AK: Annotate HashTable functions as [[nodiscard]] 2021-04-11 12:50:33 +02:00
Hex.cpp AK: Expose the decode_hex_digit helper 2021-04-14 13:30:10 +02:00
Hex.h AK: Expose the decode_hex_digit helper 2021-04-14 13:30:10 +02:00
IDAllocator.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
InlineLinkedList.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
IntrusiveList.h AK+Kernel: Make IntrusiveList capable of holding non-raw pointers 2021-04-16 22:26:52 +02:00
IntrusiveRedBlackTree.h AK: Implement IntrusiveRedBlackTree container 2021-04-12 18:03:44 +02:00
IPv4Address.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
IterationDecision.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Iterator.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
JsonArray.h AK: Allow assigning a value to a specific index in a JsonArray 2021-03-26 22:58:31 +01:00
JsonArraySerializer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
JsonObject.h AK: JsonObject::value_or() fallback value should be a const reference 2021-03-08 11:50:36 +01:00
JsonObjectSerializer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
JsonParser.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
JsonParser.h AK: Remove empty destructor from JsonParser. 2020-09-08 14:01:21 +02:00
JsonPath.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
JsonPath.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
JsonValue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
JsonValue.h AK: Add 64 bit methods to JsonValue 2021-03-17 23:22:42 +01:00
kmalloc.h AK: Always include <new> from compiler before our operators new 2020-11-05 09:59:30 +01:00
kstdio.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
LexicalPath.cpp AK: Update LexicalPath::relative_path to work for '/' prefix 2021-04-11 19:19:49 +02:00
LexicalPath.h AK: Add LexicalPath::relative_path 2021-02-20 15:53:37 +01:00
MACAddress.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
MappedFile.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
MappedFile.h LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
MemMem.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Memory.h AK+LibC: Always use REP MOVSB/STOSB for memcpy()/memset() 2020-07-27 15:54:39 +02:00
MemoryStream.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
NeverDestroyed.h NeverDestroyed: Add tests 2020-11-22 10:54:33 +01:00
Noncopyable.h Meta: Force semi-colon after MAKE_AK_NONXXXABLE() 2020-08-27 10:12:04 +02:00
NonnullOwnPtr.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
NonnullOwnPtrVector.h AK: Make Nonnull*PtrVector use size_t for indexes 2021-02-20 18:34:32 +01:00
NonnullPtrVector.h AK: Make Nonnull*PtrVector use size_t for indexes 2021-02-20 18:34:32 +01:00
NonnullRefPtr.h Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
NonnullRefPtrVector.h AK: Make Nonnull*PtrVector use size_t for indexes 2021-02-20 18:34:32 +01:00
NumberFormat.h AK: Add longer human readable size to string helper function 2021-03-25 10:59:11 +01:00
NumericLimits.h AK: Add NumericLimits specialization for char. 2020-09-29 16:14:58 +02:00
Optional.h AK: Add type alias for AK::Optional 2021-04-16 19:19:31 +02:00
OSError.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
OwnPtr.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Platform.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
PrintfImplementation.h AK+LibC: Make %p specifier Architecture Independent 2021-03-21 09:35:23 +01:00
Ptr32.h AK: Add a Ptr32 type to handle fixed sized pointers 2021-03-21 09:35:23 +01:00
Queue.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
QuickSort.h AK: Make single pivot quick_sort guarantee a max stack depth of log(n) 2021-02-01 09:52:36 +01:00
Random.h Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
RedBlackTree.h AK: Implement RedBlackTree container 2021-04-12 18:03:44 +02:00
RefCounted.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
RefPtr.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
Result.h AK: Fix bogus return type of Result::release_error() (#6054) 2021-04-01 21:03:57 +02:00
ScopedValueRollback.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ScopeGuard.h Meta+AK: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
ScopeLogger.h LibCpp: Add the beginning of a C++ parser 2021-01-27 21:10:57 +01:00
SIMD.h AK: Add header for SIMD vectorized types 2020-12-08 09:39:43 +01:00
Singleton.h Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
SinglyLinkedList.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
SinglyLinkedListWithCount.h Everywhere: Remove unnecessary headers 4/4 2021-02-08 18:03:57 +01:00
SourceGenerator.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Span.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
StackInfo.cpp AK: Fix OOO mistake in StackInfo.cpp 2021-03-03 11:09:44 +01:00
StackInfo.h LibJS+AK: Move cross-platform stack bounds code from JS::Heap to AK::StackInfo 2020-11-08 16:51:54 +01:00
StdLibExtraDetails.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
StdLibExtras.h AK+Kernel: Make IntrusiveList capable of holding non-raw pointers 2021-04-16 22:26:52 +02:00
Stream.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
String.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
String.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
StringBuilder.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
StringBuilder.h AK: Annotate StringBuilder functions as [[nodiscard]] 2021-04-11 12:50:33 +02:00
StringImpl.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
StringImpl.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
StringUtils.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
StringUtils.h AK: Add String{,Utils}::to_snakecase() 2021-02-21 19:47:47 +01:00
StringView.cpp AK: Fix StringView::find_last_of for one-character views 2021-04-12 22:37:00 +02:00
StringView.h AK: Add a predicate variant of StringView::split_view 2021-04-12 22:37:00 +02:00
TemporaryChange.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TestSuite.h Everywhere: Add -Wdouble-promotion warning 2021-04-16 19:01:54 +02:00
Time.cpp AK: Fix some overflows/underflows that weren't properly handled 2021-03-13 10:17:28 +01:00
Time.h AK: Fix some overflows/underflows that weren't properly handled 2021-03-13 10:17:28 +01:00
Traits.h AK: Find a value in any container offering iterators 2021-01-11 19:45:05 +01:00
Trie.h AK: Annotate Trie functions as [[nodiscard]] 2021-04-11 12:50:33 +02:00
TypeCasts.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
TypedTransfer.h Everywhere: Remove pessimizing and redundant move() 2021-03-17 16:30:15 +01:00
TypeList.h AK: Add missing 'template' keywords in TypeList 2020-12-31 16:16:07 +01:00
Types.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
URL.cpp AK: Add optional fragment parameter to create_with_file_protocol() 2021-03-07 11:00:36 +01:00
URL.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
URLParser.cpp AK: Add optional parameter for excluding chars to urlencode() 2021-01-31 19:05:55 +01:00
URLParser.h AK: Add optional parameter for excluding chars to urlencode() 2021-01-31 19:05:55 +01:00
Userspace.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
Utf8View.cpp AK: Add starts_with to Utf8View 2021-03-25 10:59:34 +01:00
Utf8View.h AK: Add starts_with to Utf8View 2021-03-25 10:59:34 +01:00
Utf32View.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
UUID.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
UUID.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Vector.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Weakable.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
WeakPtr.h AK: Annotate WeakPtr functions as [[nodiscard]] 2021-04-11 12:50:33 +02:00