summaryrefslogtreecommitdiff
path: root/AK/DisjointChunks.h
AgeCommit message (Collapse)Author
2022-12-03Everywhere: Run clang-formatLinus Groh
2022-11-26AK: Make it possible to not `using` AK classes into the global namespaceAndreas Kling
This patch adds the `USING_AK_GLOBALLY` macro which is enabled by default, but can be overridden by build flags. This is a step towards integrating Jakt and AK types.
2022-11-17AK: Give DisjointChunks::m_chunks an inline capacity of 1Ali Mohammad Pur
That's one fewer level of indirection for flattened ones.
2022-11-17AK: Add a fast path for DisjointChunks::spans()Ali Mohammad Pur
2022-11-17AK: Allow DisjointChunks::spans to return a vector with inline capacityAli Mohammad Pur
2022-02-27AK: Skip over initial empty chunks in DisjointChunkskleines Filmröllchen
This will be caught by new test cases: when the initial chunk is empty, a dereference before calling operator++ on the iterator will crash as the initial chunk's size is never checked.
2022-02-27AK: Make DisjointChunks support FixedArraykleines Filmröllchen
This extracts the shatter_chunk logic, because it needs to be different for FixedArray.
2022-02-27AK: Make DisjointChunk::append move the new chunkkleines Filmröllchen
Previously, although we were taking a moved chunk, we still copied it into our chunk list. This makes DisjointChunk compatible with containers that don't have a copy constructor but a move constructor.
2022-02-27AK: Export DisjointSpans into the global namespacekleines Filmröllchen
I think we just forgot when we added it.
2021-12-24AK: Make `Disjoint*::is_empty()` not call sizeMichel Hermier
This is a raffinement of 49cbd4dcca037336ad5e2e4fcb1e3cc613b46cce. Previously, the container was scanned to compute the size in the unhappy path. Now, using `all_of` happy and unhappy path should be fast.
2021-12-24AK: Add `DisjointChunkc::ensure_capacity`Michel Hermier
2021-12-21AK: Make DisjointChunks not query size() when there are no chunksAli Mohammad Pur
2021-12-21AK: Add Disjoint(Chunks Spans)::find(index)Ali Mohammad Pur
For when the may or may not be out of bounds.
2021-09-14AK: Add an abstraction over multiple disjoint buffersAli Mohammad Pur
DisjointChunks<T> provides a nice interface over multiple sequential Vector<T>'s, allowing the user to iterate over/index into/slice from said buffers as if they were a single contiguous buffer. To work with views on such objects, DisjointSpans<T> is provided, which has the same behaviour but does not own the underlying objects.