Andreas Kling
783c99516a
AK: LogStream should handle being passed a null const char*
2020-03-04 21:04:06 +01:00
Andreas Kling
686ade6b5a
AK: Make quick_sort() a little more ergonomic
...
Now it actually defaults to "a < b" comparison, instead of forcing you
to provide a trivial less-than comparator. Also you can pass in any
collection type that has .begin() and .end() and we'll sort it for you.
2020-03-03 16:02:58 +01:00
Liav A
9440c45d6e
AK: Add support for Kernel Log Stream
2020-03-02 22:23:39 +01:00
Andreas Kling
214f934465
Meta: Adjust some copyright dates by Fei Wu
2020-03-02 14:24:25 +01:00
Andreas Kling
f5b78c2a1c
AK: Add missing copyright headers to StringUtils.{cpp,h}
2020-03-02 14:23:11 +01:00
howar6hill
d75fa80a7b
AK: Move to_int(), to_uint() implementations to StringUtils ( #1338 )
...
Provide wrappers in String and StringView. Add some tests for the
implementations.
2020-03-02 14:19:33 +01:00
howar6hill
055344f346
AK: Move the wildcard-matching implementation to StringUtils
...
Provide wrappers in the String and StringView classes, and add some tests.
2020-03-02 10:38:08 +01:00
howar6hill
2a30a020c1
AK: Add enqueue_begin() for the CircularDeque class ( #1320 )
...
Also add tests for CircularDeque.
2020-03-02 09:50:43 +01:00
howar6hill
4ed2ba264d
AK: Remove superfluous explicit in Bitmap ( #1337 )
2020-03-02 09:50:22 +01:00
Andreas Kling
22d0a6d92f
AK: Remove unnecessary casts to size_t, after Vector changes
...
Now that Vector uses size_t, we can remove a whole bunch of redundant
casts to size_t.
2020-03-01 12:58:22 +01:00
Andreas Kling
dcd619bd46
Kernel: Merge the shbuf_get_size() syscall into shbuf_get()
...
Add an extra out-parameter to shbuf_get() that receives the size of the
shared buffer. That way we don't need to make a separate syscall to
get the size, which we always did immediately after.
2020-02-28 12:55:58 +01:00
Andreas Kling
a1514369d7
LibC: Move shbuf_* API's to <serenity.h>
2020-02-28 12:55:58 +01:00
Andreas Kling
f72e5bbb17
Kernel+LibC: Rename shared buffer syscalls to use a prefix
...
This feels a lot more consistent and Unixy:
create_shared_buffer() => shbuf_create()
share_buffer_with() => shbuf_allow_pid()
share_buffer_globally() => shbuf_allow_all()
get_shared_buffer() => shbuf_get()
release_shared_buffer() => shbuf_release()
seal_shared_buffer() => shbuf_seal()
get_shared_buffer_size() => shbuf_get_size()
Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
2020-02-28 12:55:58 +01:00
howar6hill
a19967d5c3
Tests: Fix a typo inTestRefPtr
2020-02-27 21:16:02 +01:00
William McPherson
121e7306c3
AK: Expose SinglyLinkedListIterator constructor
...
This commit replaces SinglyLinkedListIterator::universal_end() with an
empty SinglyLinkedListIterator(). Piano needs this in order to
initialize a member array of iterators without 84 lines of
universal_end().
2020-02-27 10:21:13 +01:00
howar6hill
a57f074187
CircularQueue: Move construct a T object instead of copy constructing it
2020-02-26 15:22:45 +01:00
Andreas Kling
6824cb17a6
AK: Have AK/kmalloc.h #include <new> on other platforms
...
This should make stuff like placement new work correctly when building
outside of Serenity. This stuff is a bit delicate due to the weirdly
staged toolchain build at the moment. Hopefully we can unify this stuff
in the future.
2020-02-25 15:58:24 +01:00
Andreas Kling
00e744c263
AK: Provide a ptr_hash(const void*) overload
2020-02-25 15:37:07 +01:00
joshua stein
7e6ac544f7
AK: Add ptr_hash to use int_hash or u64_hash depending on pointer size
2020-02-25 15:32:58 +01:00
Andreas Kling
960cae924a
AK: Some more int => size_t in Bitmap
2020-02-25 15:11:15 +01:00
Andreas Kling
fbe4081f4b
AK: Make Queue use size_t for its size
2020-02-25 14:55:04 +01:00
Andreas Kling
ceec1a7d38
AK: Make Vector use size_t for its size and capacity
2020-02-25 14:52:35 +01:00
Emanuel Sprung
074d935c6e
AK, LibGfx, LibGUI: Initialize various variables to zero.
...
The not initialized variables can lead to compiler warnings that
become errors with the -Werror flag.
2020-02-25 10:18:46 +01:00
Andreas Kling
17846dd063
AK: Zero-initialize the internal storage of Optional
2020-02-24 10:22:27 +01:00
Andreas Kling
0763f67043
AK: Make Bitmap use size_t for its size
...
Also rework its API's to return Optional<size_t> instead of int with -1
as the error value.
2020-02-24 09:56:07 +01:00
Andreas Kling
b813b2f871
AK: Make HashTable and HashMap use size_t for size and capacity
2020-02-24 09:42:52 +01:00
Shannon Booth
ba9313111f
AK: Add StringBuilder::is_empty()
2020-02-22 21:36:54 +01:00
Shannon Booth
854f0b9e1a
AK: Add StringView::starts_with(char) & StringView::ends_with(char)
...
This is simply meant to be a more efficient implementation in the
case that we only need to check a single character.
2020-02-22 21:36:54 +01:00
Andreas Kling
c4c1ad2289
Toolchain: Build demangling into LibC except during toolchain build
2020-02-21 18:54:57 +01:00
Andreas Kling
7592f9afd5
AK: Use size_t for CircularQueue and CircularDeque
2020-02-20 13:20:34 +01:00
Andreas Kling
88b9fcb976
AK: Use size_t for ByteBuffer sizes
...
This matches what we already do for string types.
2020-02-20 13:20:34 +01:00
Andreas Kling
23a54636ea
AK: Fix bug where "%s" with field width would print too many characters
...
I introduced this while implementing "%.*s", oops.
2020-02-19 23:02:15 +01:00
Andreas Kling
151467b569
AK: Support "%.*s" in format strings
...
Work towards #623 .
2020-02-19 22:08:13 +01:00
Liav A
01ae3e9c85
AK: Use endianness flags to determine if conversion is necessary
2020-02-19 16:08:28 +01:00
Andreas Kling
a7dbb3cf96
Kernel: Use a FixedArray for a process's extra GIDs
...
There's not really enough of these to justify using a HashTable.
2020-02-18 11:35:47 +01:00
Sergey Bugaev
bf8dacf0c1
Kernel: Add placement new[] operator
2020-02-18 11:23:27 +01:00
Andreas Kling
48f7c28a5c
Kernel: Replace "current" with Thread::current and Process::current
...
Suggested by Sergey. The currently running Thread and Process are now
Thread::current and Process::current respectively. :^)
2020-02-17 15:04:27 +01:00
Andreas Kling
a6e69bda71
AK: Add basic Traits for RefPtr
...
This allows RefPtr to be stored in a HashTable<RefPtr<T>> :^)
It's unfortunate about the const_casts. We'll need to fix HashMap::get
to play nice with non-const Traits<T>::PeekType at some point.
2020-02-16 21:58:17 +01:00
Andreas Kling
02e199a9cb
AK: Don't construct a String every time we LogStream<< a number
2020-02-16 12:48:58 +01:00
Kaif Mavani
fa21c7e8bf
AK: Fixed a typo in NeverDestroyed.h ( #1228 )
2020-02-16 09:32:18 +01:00
Andreas Kling
e61cdf5c39
AK: Add HashMap, HashTable and Traits to Forward.h
2020-02-16 02:01:18 +01:00
Andreas Kling
a356e48150
Kernel: Move all code into the Kernel namespace
2020-02-16 01:27:42 +01:00
Andreas Kling
d42f0f4661
AK: Add missing include in CircularQueue.h
2020-02-16 01:27:25 +01:00
Andreas Kling
f27a646bf5
AK: Don't bring in LibBareMetal's kstdio.h in userspace
2020-02-15 19:18:56 +01:00
Andreas Kling
b515ea454f
AK: Make sure that Weakable always has the same memory layout
...
Weakable objects ended up with differing memory layouts in some ports
since they don't build with the DEBUG macro defined.
Instead of forcing ports to define DEBUG, just put this behind a custom
WEAKABLE_DEBUG macro and leave it always-on for now.
2020-02-15 14:49:57 +01:00
Andreas Kling
175cd4d9c2
AK: Fix broken #include statement
2020-02-15 13:28:33 +01:00
Andreas Kling
dc417ada6d
AK: Add BufferStream to Forward.h
2020-02-15 12:10:48 +01:00
Shannon Booth
9920d17342
AK: Add String starts_with(char) & ends_with(char)
...
This is simply meant to be a more efficient implementation in the
case that we only need to check a single character.
2020-02-15 11:40:05 +01:00
Andreas Kling
d85b09893d
AK: Add Utf8View to Forward.h
2020-02-14 23:31:18 +01:00
Andreas Kling
22b41a0fa3
AK: Add LogStream and DebugLogStream to Forward.h
2020-02-14 23:31:18 +01:00