ladybird/AK
Ali Mohammad Pur 73fc2b3748 AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept
This makes it so these algorithms are usable with arbitrary iterators,
as opposed to just instances of AK::SimpleIterator.
This commit also makes the requirement of ::index() in find_index()
explicit, as previously it was accepting any iterator.
2021-07-22 22:56:20 +02:00
..
AllOf.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
AnyOf.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
Array.h AK: Sprinkle [[nodiscard]] on AK::Array 2021-07-21 18:22:10 +02:00
Assertions.h LibC+AK: Remove our custom macros from <assert.h> 2021-06-08 17:29:57 +02:00
Atomic.h AK: Add free function to wrap around __atomic_is_lock_free built-in 2021-07-14 22:13:15 +01:00
Badge.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Base64.cpp Meta: Disable -Wmaybe-uninitialized 2021-06-09 23:05:32 +04:30
Base64.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BinaryBufferWriter.h AK: Add helper type for serializing structures into buffer 2021-07-18 19:58:17 +04:30
BinaryHeap.h AK+Userland: Use idan.horowitz@serenityos.org for my copyright headers 2021-04-22 22:42:38 +02:00
BinarySearch.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitCast.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Bitmap.h AK: Sprinkle [[nodiscard]] on AK::Bitmap 2021-07-21 18:09:01 +02:00
BitmapView.h Bitmap: De-duplicate bitmasks 2021-05-19 23:37:10 +01:00
BitStream.h AK: Add big endian bit reading to InputBitStream 2021-06-25 20:48:14 +04:30
Buffered.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ByteBuffer.h AK: Don't forget to kfree_sized() in ByteBuffer 2021-07-11 15:15:57 +02:00
ByteReader.h AK: Generalize ByteReader 2021-07-14 11:26:34 +04:30
CharacterTypes.h AK: Add the to_ascii_base36_digit helper method 2021-06-29 16:55:54 +01:00
Checked.h AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> work 2021-07-22 21:19:40 +01:00
CheckedFormatString.h AK+Everywhere: Fix compiletime format parsing of replacement fields 2021-06-01 23:12:17 +04:30
CircularDeque.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularDuplexStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularQueue.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CMakeLists.txt Meta: Add support for declaring components 2021-06-17 11:03:51 +02:00
Complex.h Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
Concepts.h AK: Add a concept for iterable containers 2021-07-22 22:56:20 +02:00
DateTimeLexer.h AK: Add a DateTimeLexer 2021-07-12 19:05:17 +01:00
Debug.h.in AK+Meta: Remove unused AUTOCOMPLETE_DEBUG flag 2021-07-12 12:26:52 +02:00
Demangle.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
DistinctNumeric.h AK: Make DistinctNumeric constexpr-capable 2021-05-04 21:32:15 +02:00
DoublyLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Endian.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
EnumBits.h AK+Kernel: Implement and use EnumBits has_any_flag() 2021-07-16 11:49:50 +02:00
ExtraMathConstants.h Userland: Move non-standard math constants from math.h 2021-04-27 23:06:16 +02:00
FileStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Find.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
FixedArray.h AK: Add FixedArray::span() 2021-07-11 17:42:31 +02:00
FlyString.cpp AK: Add a way to disable the trimming of whitespace in to_*int 2021-06-18 19:18:15 +01:00
FlyString.h AK: Add a way to disable the trimming of whitespace in to_*int 2021-06-18 19:18:15 +01:00
Format.cpp AK: Use StringView literals in Format to avoid strlen 2021-07-19 05:17:05 +04:30
Format.h AK: Use new Formatter for each element in Formatter<Vector<T>> 2021-07-19 05:17:05 +04:30
Forward.h AK: Add Utf16View for decoding UTF-16 strings 2021-07-22 09:10:44 +02:00
Function.h AK+Kernel: Fix perfect forwarding constructors shadowing others 2021-07-08 10:11:00 +02:00
GenericLexer.cpp AK/GenericLexer: constexpr where possible 2021-04-22 20:27:21 +02:00
GenericLexer.h AK: Add a retreat(count) method to GenericLexer 2021-07-12 19:05:17 +01:00
HashFunctions.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HashMap.h AK: Sprinkle [[nodiscard]] on HashMap and HashTable 2021-07-21 18:18:29 +02:00
HashTable.h AK: Remove unused private HashTable::lookup_for_reading() 2021-07-21 18:18:51 +02:00
Hex.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Hex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IDAllocator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IntrusiveList.h AK: Mark AK::IntrusiveList Non copyable and movable 2021-07-17 13:02:09 +02:00
IntrusiveRedBlackTree.h AK: Mark RedBlackTree functions as [[nodiscard]] 2021-07-17 13:02:09 +02:00
IPv4Address.h AK: Implement IPv4Address::to_string_reversed() 2021-06-09 17:43:32 +04:30
IterationDecision.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Iterator.h AK: Make Vector capable of holding reference types 2021-06-08 19:14:24 +02:00
JsonArray.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonArraySerializer.h Kernel: Don't compile JsonValue & friends into the kernel 2021-06-30 11:31:12 +02:00
JsonObject.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonObjectSerializer.h Kernel: Don't compile JsonValue & friends into the kernel 2021-06-30 11:31:12 +02:00
JsonParser.cpp AK: Make JsonParser correctly parse unsigned values larger than u32 2021-07-15 01:47:35 +02:00
JsonParser.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonPath.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonPath.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonValue.cpp Kernel+AK: Don't compile JSON parser into the kernel 2021-06-29 22:19:29 +02:00
JsonValue.h AK: Add a getter to JsonValue to get machine-native addresses 2021-07-22 08:57:01 +02:00
kmalloc.cpp AK: Declare operators new and delete as global functions 2021-07-05 20:23:42 +02:00
kmalloc.h Kernel: Remove krealloc() 2021-07-11 14:14:51 +02:00
kstdio.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LEB128.h AK: Handle LEB128 encoded values that are too large for the result type 2021-05-31 14:25:27 +04:30
LexicalPath.cpp AK+Everywhere: Remove StringView::find_{first,last}_of(char) methods 2021-07-02 21:54:21 +02:00
LexicalPath.h AK: Use canonicalized_path in LexicalPath::relative_path 2021-06-30 11:13:54 +02:00
MACAddress.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MappedFile.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
MappedFile.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Math.h AK: Introduce Math.h 2021-07-19 16:34:21 +04:30
MemMem.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Memory.h AK: Guard inline assembly with ARCH(I386) and provide alternative 2021-05-31 17:29:09 +01:00
MemoryStream.h Kernel+LibC: Make get_dir_entries syscall retriable 2021-05-12 12:50:23 +02:00
NeverDestroyed.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Noncopyable.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullOwnPtr.h AK: Make smart pointer factories work with aggregates 2021-07-03 01:56:31 +04:30
NonnullOwnPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullRefPtr.h AK: Make smart pointer factories work with aggregates 2021-07-03 01:56:31 +04:30
NonnullRefPtrVector.h AK: Make NonnullRefPtrVector constructible from Vector<NonnullRefPtr> 2021-06-11 00:30:09 +02:00
NumberFormat.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
NumericLimits.h AK/NumericLimits: Add lowest() for floating-point types 2021-05-22 13:38:34 +01:00
Optional.h AK: Use conditionally trivial special member functions 2021-07-04 07:24:41 +04:30
OSError.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OwnPtr.h AK: Make smart pointer factories work with aggregates 2021-07-03 01:56:31 +04:30
Platform.h Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
PrintfImplementation.h AK: Honor variable precision argument when formatting 2021-05-30 18:45:06 +01:00
Ptr32.h AK: Fix building Ptr32 on x86_64 2021-06-24 09:27:13 +02:00
Queue.h AK: Avoid pagefaults when repeatedly enqueing/dequeing items in a Queue 2021-07-14 23:03:36 +02:00
QuickSort.h AK: Guarantee a maximum stack depth for dual_pivot_quick_sort 2021-04-28 21:38:48 +02:00
Random.cpp AK: Introduce get_random_uniform() 2021-05-14 22:24:02 +02:00
Random.h AK: Introduce get_random_uniform() 2021-05-14 22:24:02 +02:00
RedBlackTree.h AK: Mark RedBlackTree functions as [[nodiscard]] 2021-07-17 13:02:09 +02:00
RefCounted.h AK: Allow inlining ref-count functionality 2021-06-03 08:06:51 +02:00
RefPtr.h AK: Make smart pointer factories work with aggregates 2021-07-03 01:56:31 +04:30
Result.h AK: Let Result<T, E> know its Value and Error types 2021-05-08 22:14:39 +02:00
ScopedValueRollback.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeGuard.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeLogger.h AK: Store the 'extra' field of ScopeLogger as String 2021-06-29 00:07:19 +04:30
SIMD.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Singleton.h LibCore+AK: Use proper atomics in Singleton 2021-06-24 17:35:49 +04:30
SinglyLinkedList.h AK: Add support for removing SinglyLinkedList nodes during iteration 2021-06-15 23:59:21 +01:00
SinglyLinkedListWithCount.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
SourceGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SourceLocation.h AK+Userland: Use akaster@serenityos.org for my copyright headers 2021-05-30 14:35:34 +01:00
Span.h AK: Annotate more AK::Span methods as nodiscard 2021-07-01 22:44:06 +02:00
Stack.h AK: Implement AK::Stack 2021-05-26 16:36:53 +04:30
StackInfo.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StackInfo.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StdLibExtraDetails.h AK: Add a CommonType<Ts...> type trait 2021-07-22 22:56:20 +02:00
StdLibExtras.h AK: Add workaround for clang-format 12 problems with concepts 2021-07-15 09:26:19 +02:00
Stream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
String.cpp AK: Add generation of roman numerals to AK::String 2021-07-04 22:17:03 +02:00
String.h AK: Add generation of roman numerals to AK::String 2021-07-04 22:17:03 +02:00
StringBuilder.cpp AK: Remove the m_length member for StringBuilder 2021-05-31 14:49:00 +04:30
StringBuilder.h AK: Remove the m_length member for StringBuilder 2021-05-31 14:49:00 +04:30
StringHash.h AK: Make StringView::hash() constexpr 2021-05-14 15:24:32 +02:00
StringImpl.cpp AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringImpl.h AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringUtils.cpp AK: Replace usages of ctype.h with CharacterTypes.h 2021-07-07 14:05:56 +02:00
StringUtils.h AK: Implement String::find_any_of() and StringView::find_any_of() 2021-07-02 21:54:21 +02:00
StringView.cpp AK: Implement String::find_any_of() and StringView::find_any_of() 2021-07-02 21:54:21 +02:00
StringView.h AK: Implement String::find_any_of() and StringView::find_any_of() 2021-07-02 21:54:21 +02:00
TemporaryChange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Time.cpp Time: Remove static from function local constexpr variable 2021-05-19 16:24:02 +02:00
Time.h AK: Disable clang-format for AK/Time.h 2021-07-22 08:57:01 +02:00
Traits.h AK: Make Traits<T*> use ptr_hash() and not assume 32-bit pointers 2021-07-12 23:49:59 +04:30
Trie.h AK: Add children() accessor to Trie 2021-06-08 12:15:04 +02:00
Tuple.h AK: Add deduction guides to Tuple 2021-05-18 18:48:15 +01:00
TypeCasts.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
TypedTransfer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypeList.h Everywhere: "indexes" => "indices" 2021-04-29 22:23:52 +02:00
Types.h Kernel: Fix memset() on x86_64 2021-06-28 15:55:00 +02:00
UBSanitizer.h Kernel+AK: Move UBSanitizer to AK, and to AK namespace 2021-05-27 15:18:03 +02:00
UFixedBigInt.h AK: Fix UFixedBigInt not building with Clang 2021-07-08 10:11:00 +02:00
UnicodeUtils.cpp AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
UnicodeUtils.h AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
URL.cpp AK: Remove the LexicalPath::is_valid() API 2021-06-30 11:13:54 +02:00
URL.h AK: Move identity check from URL::operator==() to equals() 2021-06-01 12:23:16 +02:00
URLParser.cpp Userland: Allow building SerenityOS with -funsigned-char 2021-06-13 18:52:58 +02:00
URLParser.h AK: Make debugging URLParser easier 2021-06-05 10:53:31 +02:00
Userspace.h AK: Make C++ concepts support mandatory for compilers 2021-06-24 17:35:49 +04:30
Utf8View.cpp AK: Track byte length, rather than code point length, in Utf8View::trim 2021-07-17 16:59:59 +01:00
Utf8View.h AK: Add a is_null() method to Utf{8,32}View 2021-07-18 21:10:55 +04:30
Utf16View.cpp AK: Add Utf16View for decoding UTF-16 strings 2021-07-22 09:10:44 +02:00
Utf16View.h AK: Add Utf16View for decoding UTF-16 strings 2021-07-22 09:10:44 +02:00
Utf32View.h AK: Add the at()/operator[]() getter to Utf32View 2021-07-18 21:10:55 +04:30
UUID.cpp AK+Userland: Fix some compiler warnings and make variables const-ref 2021-05-16 17:49:42 +02:00
UUID.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Variant.h AK: Destroy original value when assigning to Variant 2021-07-04 07:24:41 +04:30
Vector.h AK: Add a deduction guide to Vector 2021-07-22 22:56:20 +02:00
Weakable.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
WeakPtr.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00