ladybird/AK
Tom 92e400c7f9 AK: Add Bitmap::find_one_anywhere and optimize Bitmap::find_first
Leverage constexpr and __builtin_ffs for Bitmap::find_first. Also add
a variant Bitmap::find_one_anywhere that can start scanning at a
provided hint.

Also, merge Bitmap::fill_range into the already existing Bitmap::set_range
2020-09-09 13:02:14 +02:00
..
Tests AK: Add Bitmap::find_one_anywhere and optimize Bitmap::find_first 2020-09-09 13:02:14 +02:00
Array.h AK: Add Array<T, Size> template. 2020-09-08 14:01:21 +02:00
Assertions.h AK+LibC: Add TODO() as an alternative to ASSERT_NOT_REACHED() 2020-05-30 11:31:49 +02:00
Atomic.h AK: Decorate atomic compare exchange operations with [[nodiscard]] 2020-08-05 17:28:44 +02:00
Badge.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Base64.cpp AK: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
Base64.h AK: Change the signature of AK::encode_base64() to use Span. 2020-07-27 19:58:09 +02:00
BinarySearch.h AK: Fix the signature of binary_search. 2020-08-26 21:07:53 +02:00
Bitmap.h AK: Add Bitmap::find_one_anywhere and optimize Bitmap::find_first 2020-09-09 13:02:14 +02:00
BitStream.h Streams: Consistent behaviour when reading from stream with error. 2020-09-06 12:54:45 +02:00
Buffered.h Streams: Consistent behaviour when reading from stream with error. 2020-09-06 12:54:45 +02:00
BufferStream.h LibDebug: Use InputMemoryStream instead of BufferStream. 2020-08-06 10:33:16 +02:00
ByteBuffer.cpp AK: Prevent confusing silent misuse of ByteBuffer 2020-08-22 17:18:14 +02:00
ByteBuffer.h AK: Fix ByteBuffer zero bytes allocations 2020-08-30 17:30:48 +02:00
Checked.h AK: Demonstrate and fix Checked 2020-08-26 00:55:13 +02:00
CircularDeque.h AK: Add enqueue_begin() for the CircularDeque class (#1320) 2020-03-02 09:50:43 +01:00
CircularDuplexStream.h Streams: Consistent behaviour when reading from stream with error. 2020-09-06 12:54:45 +02:00
CircularQueue.h AK: Add CircularDuplexStream class. 2020-08-26 21:07:53 +02:00
CMakeLists.txt Meta: Install source files at /usr/src/serenity 2020-08-15 15:06:35 +02:00
Concepts.h AK: Add SFINAE fallback for AK C++ concepts use, for Coverity compiler 2020-08-17 09:17:57 +02:00
Demangle.h Revert "AK: Don't demangle in serenity :(" 2020-05-20 16:24:26 +02:00
DistinctNumeric.h AK: Fix description of DistinctNumeric around operator bool 2020-08-22 17:18:14 +02:00
DoublyLinkedList.h AK: Make all DoublyLinkedList search methods use Traits<T>::equals (#3404) 2020-09-05 14:17:14 +02:00
Endian.h AK: Don't swap endianness when writing endian wrappers to stream. 2020-08-29 17:44:34 +02:00
FlyString.cpp Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
FlyString.h AK: Tweak String::is_one_of() and FlyString::is_one_of() 2020-07-28 18:55:47 +02:00
Forward.h AK: Remove FixedArray class. 2020-09-08 14:01:21 +02:00
Function.h Add clang-format file 2019-05-28 17:31:20 +02:00
GenericLexer.cpp LibWeb: Use GenericLexer in WrapperGenerator 2020-08-21 16:01:48 +02:00
GenericLexer.h AK: Add is_any_of(StringView) to GenericLexer 2020-08-31 23:05:58 +02:00
HashFunctions.h AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
HashMap.h AK: HashTable/HashMap return whether action was performed for set/remove 2020-07-09 21:58:07 +02:00
HashTable.h AK: HashTable add a constructor that allows preallocation of capacity + Use in CppLexer. (#3147) 2020-08-16 11:04:00 +02:00
IDAllocator.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InlineLinkedList.h AK: Use AK relative include style for InlineLinkedList.h 2020-08-05 12:13:50 +02:00
IntrusiveList.h LibCore: Add a forward declaration header 2020-02-14 23:31:18 +01:00
IPv4Address.h AK: Add Endian.h header to replace NetworkOrdered.h. 2020-08-25 16:22:14 +02:00
IterationDecision.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Iterator.h AK: Add generic SimpleIterator class to replace VectorIterator. 2020-09-08 14:01:21 +02:00
JsonArray.h AK: Simplify JsonObject and JsonArray API a little bit 2020-03-06 08:51:22 +01:00
JsonArraySerializer.h Meta: Claim copyright for files created by me 2020-01-24 15:15:16 +01:00
JsonObject.h AK: Add JsonObject::remove() 2020-09-06 16:09:09 +02:00
JsonObjectSerializer.h AK: Make JsonValue and JsonObjectSerializer speak int/long/long long 2020-05-22 13:57:23 +02:00
JsonParser.cpp AK: Add a GenericLexer and extend the JsonParser with it (#2696) 2020-08-09 11:34:26 +02:00
JsonParser.h AK: Remove empty destructor from JsonParser. 2020-09-08 14:01:21 +02:00
JsonPath.cpp Inspector: Expand and show properties in a TreeView 2020-07-01 11:18:19 +02:00
JsonPath.h Inspector: Expand and show properties in a TreeView 2020-07-01 11:18:19 +02:00
JsonValue.cpp AK: Fix JsonValue copy constructor behavior for 64-bit values 2020-07-06 18:38:08 +02:00
JsonValue.h AK: JsonParser improvements 2020-06-13 12:43:22 +02:00
kmalloc.h Revert "AK: Let the compiler provide the default new and delete operators" 2020-08-04 21:16:07 +02:00
kstdio.h AK+Kernel: Support snprintf 2020-08-22 20:55:10 +02:00
LexicalPath.cpp LexicalPath: Simplify a loop 2020-07-15 20:16:38 +02:00
LexicalPath.h AK: Rename FileSystemPath -> LexicalPath 2020-05-26 14:35:10 +02:00
LogStream.cpp AK: Add LogStream overload for ReadonlyBytes. 2020-09-06 20:47:35 +02:00
LogStream.h AK: Add LogStream overload for ReadonlyBytes. 2020-09-06 20:47:35 +02:00
MACAddress.h Kernel+AK: Separate out MACAddress and move it into AK 2020-04-05 09:50:48 +02:00
MappedFile.cpp AK: Unbreak building with extra debug macros 2020-08-30 09:43:49 +02:00
MappedFile.h AK: Make MappedFile store why it is invalid 2020-08-01 08:39:26 +02:00
MemMem.h AK+LibC+Kernel: Move the implementation of memmem to AK 2020-08-21 16:00:42 +02:00
Memory.h AK+LibC: Always use REP MOVSB/STOSB for memcpy()/memset() 2020-07-27 15:54:39 +02:00
MemoryStream.h Streams: Consistent behaviour when reading from stream with error. 2020-09-06 12:54:45 +02:00
NeverDestroyed.h Meta: Force semi-colon after MAKE_AK_NONXXXABLE() 2020-08-27 10:12:04 +02:00
Noncopyable.h Meta: Force semi-colon after MAKE_AK_NONXXXABLE() 2020-08-27 10:12:04 +02:00
NonnullOwnPtr.h AK: Decorate AK::NonnullOwnPtr::leak_ptr() with [[nodiscard]] 2020-08-05 16:12:00 +02:00
NonnullOwnPtrVector.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
NonnullPtrVector.h AK: Add generic SimpleIterator class to replace VectorIterator. 2020-09-08 14:01:21 +02:00
NonnullRefPtr.h AK+Kernel: Help the compiler inline a bunch of trivial methods 2020-05-20 14:11:13 +02:00
NonnullRefPtrVector.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
NumberFormat.h AK: Fix human_readable_size corner cases 2020-08-23 11:24:55 +02:00
NumericLimits.h AK: Use "signed char" as the opposite of "unsigned char" 2020-07-18 17:57:40 +02:00
Optional.h AK: Add Optional::emplace method. 2020-08-30 09:56:10 +02:00
OwnPtr.h AK: Decorate AK::OwnPtr::leak_ptr() with [[nodiscard]] 2020-08-05 16:12:00 +02:00
Platform.h AK: Add Endian.h header to replace NetworkOrdered.h. 2020-08-25 16:22:14 +02:00
PrintfImplementation.h AK: Make %llx work in printf 2020-08-30 17:37:20 +02:00
Queue.h AK: Make Queue use size_t for its size 2020-02-25 14:55:04 +01:00
QuickSort.h AK: Dual pivot quicksort implementation (#1838) 2020-04-18 13:58:49 +02:00
Random.h Lagom: Adjust AK, LibCore and LibTLS to build on MacOS 2020-05-30 00:36:13 +02:00
RefCounted.h Meta: Force semi-colon after MAKE_AK_NONXXXABLE() 2020-08-27 10:12:04 +02:00
RefPtr.h AK+Kernel: Help the compiler inline a bunch of trivial methods 2020-05-20 14:11:13 +02:00
Result.h AK: Decorate AK::Result<V, E> with [[nodiscard]] 2020-08-05 17:29:44 +02:00
ScopedValueRollback.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ScopeGuard.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
SharedBuffer.cpp Lagom: Add LibGemini, LibGfx 2020-07-23 23:02:28 +02:00
SharedBuffer.h Lagom: Add LibGemini, LibGfx 2020-07-23 23:02:28 +02:00
Singleton.h Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
SinglyLinkedList.h AK: SinglyLinkedList use Traits<T>::equals in find 2020-09-06 21:56:32 +02:00
SinglyLinkedListWithCount.h AK: Add SinglyLinkedListWithCount<T>, a singulary linked list with count 2020-08-05 09:34:22 +02:00
Span.h Refactor: Replace usages of FixedArray with Vector. 2020-09-08 14:01:21 +02:00
StdLibExtras.h AK: Define MakeUnsigned and MakeSigned for char. 2020-08-27 15:49:01 +02:00
Stream.h Streams: Consistent behaviour when reading from stream with error. 2020-09-06 12:54:45 +02:00
String.cpp AK: Add String::copy_characters_to_buffer() 2020-08-30 17:35:27 +02:00
String.h AK: Add generic SimpleIterator class to replace VectorIterator. 2020-09-08 14:01:21 +02:00
StringBuilder.cpp Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
StringBuilder.h Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
StringImpl.cpp AK: Add missing declaration in StringImpl.cpp 2020-08-30 10:48:08 +02:00
StringImpl.h AK: Document that String{,Impl} contains NUL-terminator 2020-08-24 00:45:03 +02:00
StringUtils.cpp AK: Add case insensitive version of starts_with 2020-07-21 01:08:32 +02:00
StringUtils.h AK: Add case insensitive version of starts_with 2020-07-21 01:08:32 +02:00
StringView.cpp AK: Add StringView::contains(StringView) 2020-08-01 08:39:26 +02:00
StringView.h AK: Add generic SimpleIterator class to replace VectorIterator. 2020-09-08 14:01:21 +02:00
TemporaryChange.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TestSuite.h AK: TestSuite: Define assert macros with do { } while(0). (#3292) 2020-08-25 16:20:52 +02:00
Time.cpp AK+LibC+LibCore: Have fewer implementations of day_of_week 2020-08-26 08:52:07 +02:00
Time.h AK+LibC+LibCore: Have fewer implementations of day_of_week 2020-08-26 08:52:07 +02:00
Traits.h AK: Add HashMap, HashTable and Traits to Forward.h 2020-02-16 02:01:18 +01:00
TypeCasts.h AK: Add global is<T>() and downcast<T>() 2020-07-26 17:51:00 +02:00
Types.h AK: Rename KB, MB, GB to KiB, MiB, GiB 2020-08-16 16:33:28 +02:00
URL.cpp AK: Add URL::create_with_data() to create data URLs 2020-08-24 18:21:33 +02:00
URL.h AK: Add URL::create_with_data() to create data URLs 2020-08-24 18:21:33 +02:00
URLParser.cpp AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
URLParser.h AK: Add basic percent encoder/decoder (urlencode and urldecode) 2020-06-07 21:05:05 +02:00
Userspace.h AK: Prevent confusing silent misuse of Userspace<T> 2020-08-22 17:18:14 +02:00
Utf8View.cpp Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
Utf8View.h Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
Utf32View.h Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
Vector.h AK: Add generic SimpleIterator class to replace VectorIterator. 2020-09-08 14:01:21 +02:00
Weakable.h AK: Unbreak building with extra debug macros 2020-08-30 09:43:49 +02:00
WeakPtr.h AK: Assert if trying to create a WeakPtr to an object being destroyed 2020-01-25 10:34:32 +01:00