serenity/AK
Andreas Kling 7dda773426 AK: Add rvalue-ref qualifiers for Optional's value() and value_or()
This avoids a value copy when calling value() or value_or() on a
temporary Optional. This is very common when using the HashMap::get()
API like this:

    auto value = hash_map.get(key).value_or(fallback_value);
2021-09-04 03:02:08 +02:00
..
AllOf.h AK: Reimplement all_of in terms of find_if 2021-07-24 13:11:13 +04:30
AnyOf.h AK: Implement any_of using common implementation 2021-08-06 23:57:48 +02:00
Array.h AK: Stop publishing detail namespaced functions 2021-08-15 15:14:19 +02:00
Assertions.h AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +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
Base64.cpp Meta: Disable -Wmaybe-uninitialized 2021-06-09 23:05:32 +04:30
Base64.h
BinaryBufferWriter.h AK: Add helper type for serializing structures into buffer 2021-07-18 19:58:17 +04:30
BinaryHeap.h
BinarySearch.h
BitCast.h AK: Use __builtin_bit_cast if available 2021-08-21 13:48:59 +04:30
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
BumpAllocator.h AK: Avoid OOB access in UniformBumpAllocator::destroy_all() 2021-08-13 04:42:34 +04:30
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 Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
CircularDeque.h
CircularDuplexStream.h
CircularQueue.h
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 Userland: Remove IRC Client 2021-08-24 16:37:28 +02:00
Demangle.h
DistinctNumeric.h
DoublyLinkedList.h
Endian.h AK: Add formatters for BigEndian and LittleEndian 2021-08-02 00:25:11 +02:00
EnumBits.h AK+Kernel: Implement and use EnumBits has_any_flag() 2021-07-16 11:49:50 +02:00
ExtraMathConstants.h
FileStream.h
Find.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
FixedArray.h AK: Use kmalloc_array() where appropriate 2021-08-08 00:03:45 +02:00
FixedPoint.h AK: Add FixedPoint arithmetic helper 2021-08-31 17:03:55 +04:30
FlyString.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02: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 Everywhere: Pass AK::Format TypeErasedFormatParams by reference 2021-08-30 15:50:00 +04:30
Format.h Everywhere: Pass AK::Format TypeErasedFormatParams by reference 2021-08-30 15:50:00 +04:30
Forward.h AK: Add GenericLexer to forwarding header 2021-08-19 23:49:25 +02:00
Function.h AK+Kernel: Fix perfect forwarding constructors shadowing others 2021-07-08 10:11:00 +02:00
GenericLexer.cpp AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
GenericLexer.h AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
HashFunctions.h
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
Hex.h
IDAllocator.h AK: Use get_random() in IDAllocator 2021-08-30 18:35:36 +02:00
IntrusiveList.h AK: Enable IntrusiveList self reference to be optimized out when empty 2021-08-19 08:07:45 +04:30
IntrusiveListRelaxedConst.h AK: Add typename keyword for dependent types 2021-08-08 10:55:36 +02:00
IntrusiveRedBlackTree.h IntrusiveRedBlackTree: Remove redundant subtraction of 0 2021-08-13 17:39:33 +04:30
IPv4Address.h AK: Implement IPv4Address::to_string_reversed() 2021-06-09 17:43:32 +04:30
IterationDecision.h
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
JsonPath.cpp
JsonPath.h
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 AK: Add operator delete stub to all AK_MAKE_ETERNAL objects 2021-08-30 16:44:16 +02:00
kstdio.h
LEB128.h AK: Don't perform the shift when it's too large when decoding LEB128 2021-08-31 16:37:49 +02:00
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 Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
MappedFile.cpp AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
MappedFile.h AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
Math.h AK: Handle partial remainders 2021-08-08 10:55:36 +02:00
MemMem.h
Memory.h AK: Guard inline assembly with ARCH(I386) and provide alternative 2021-05-31 17:29:09 +01:00
MemoryStream.h AK: Make InputMemoryStream::read_LEB128_* templated 2021-08-08 10:55:36 +02:00
NeverDestroyed.h
Noncopyable.h
NonnullOwnPtr.h AK: Use explode_byte for pointer sanitization 2021-08-23 12:30:29 +04:30
NonnullOwnPtrVector.h
NonnullPtrVector.h
NonnullRefPtr.h Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr 2021-09-03 23:20:23 +02:00
NonnullRefPtrVector.h AK: Make NonnullRefPtrVector constructible from Vector<NonnullRefPtr> 2021-06-11 00:30:09 +02:00
NumberFormat.h
NumericLimits.h AK/NumericLimits: Add lowest() for floating-point types 2021-05-22 13:38:34 +01:00
Optional.h AK: Add rvalue-ref qualifiers for Optional's value() and value_or() 2021-09-04 03:02:08 +02:00
OSError.h
OwnPtr.h AK: Use explode_byte for pointer sanitization 2021-08-23 12:30:29 +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
Random.cpp
Random.h
RecursionDecision.h AK: Add RecursionDecision 2021-08-07 15:21:58 +02:00
RedBlackTree.h Kernel: Rename Kernel/VM/ to Kernel/Memory/ 2021-08-06 14:05:58 +02:00
RefCounted.h AK: Pull RefCountedBase into the global namespace 2021-08-15 12:44:35 +02:00
RefPtr.h Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr 2021-09-03 23:20:23 +02:00
Result.h
ScopedValueRollback.h
ScopeGuard.h
ScopeLogger.h AK: Store the 'extra' field of ScopeLogger as String 2021-06-29 00:07:19 +04:30
SIMD.h AK: Add char SIMD types 2021-07-22 23:33:21 +02:00
Singleton.h AK: Bring Singleton into the global namespace with using 2021-08-08 00:03:45 +02:00
SinglyLinkedList.h AK: Make SinglyLinkedList::remove() public 2021-08-31 17:03:55 +04:30
SinglyLinkedListWithCount.h
SourceGenerator.h
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
StackInfo.h
Statistics.h AK: Add Statistics helper 2021-08-31 16:38:22 +02:00
StdLibExtraDetails.h AK: Add a IsSpecializationOf<T, Template> type trait 2021-08-12 21:03:53 +02:00
StdLibExtras.h AK: Move forward() into the std namespace 2021-09-01 23:02:18 +02:00
Stream.h
String.cpp AK: Pass AK::Format TypeErasedFormatParams by reference in AK::String 2021-09-01 18:06:14 +02:00
String.h AK: Pass AK::Format TypeErasedFormatParams by reference in AK::String 2021-09-01 18:06:14 +02:00
StringBuilder.cpp AK+Kernel: Add StringBuilder::append overload for UTF-16 views 2021-08-10 23:07:50 +02:00
StringBuilder.h Everywhere: Pass AK::Format TypeErasedFormatParams by reference 2021-08-30 15:50:00 +04:30
StringHash.h
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: Implement method to convert a String/StringView to title case 2021-08-26 22:04:09 +01:00
StringUtils.h AK: Implement method to convert a String/StringView to title case 2021-08-26 22:04:09 +01:00
StringView.cpp AK: Implement method to convert a String/StringView to title case 2021-08-26 22:04:09 +01:00
StringView.h AK: Implement method to convert a String/StringView to title case 2021-08-26 22:04:09 +01:00
TemporaryChange.h
Time.cpp AK: Remove dead store from Time:operator+ 2021-09-01 01:22:14 +02:00
Time.h LibCore: Make DateTime's members signed 2021-08-19 19:15:00 +01:00
Traits.h AK: Add Traits for Enums 2021-08-27 23:35:27 +04:30
Trie.h AK: Add children() accessor to Trie 2021-06-08 12:15:04 +02:00
Tuple.h AK: Correct Tuple's constructor signatures 2021-08-02 17:22:50 +04:30
TypeCasts.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
TypedTransfer.h
TypeList.h
Types.h AK: Make explode_byte depend on sizeof(FlatPtr) instead of ARCH(...) 2021-08-26 22:00:17 +02:00
UBSanitizer.h LibSanitizer+AK: Add float cast overflow handler 2021-08-08 10:55:36 +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 AK: Improve the parsing of data urls 2021-08-06 10:45:17 +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: Add Utf8View::byte_offset_of overload for code point index lookups 2021-08-18 09:47:09 +04:30
Utf8View.h AK: Add Utf8View::byte_offset_of overload for code point index lookups 2021-08-18 09:47:09 +04:30
Utf16View.cpp AK+LibJS: Implement String.from{CharCode,CodePoint} using UTF-16 strings 2021-08-04 11:18:24 +02:00
Utf16View.h AK: Add a formatter overload for Utf16View 2021-08-10 23:07:50 +02:00
Utf32View.h AK: Add the at()/operator[]() getter to Utf32View 2021-07-18 21:10:55 +04:30
UUID.cpp Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
UUID.h
Variant.h AK+Everywhere: Delete Variant's default constructor 2021-08-13 17:31:39 +04:30
Vector.h AK: Use kmalloc_array() where appropriate 2021-08-08 00:03:45 +02:00
Weakable.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
WeakPtr.h