1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 08:34:59 +00:00
serenity/Kernel/Arch/x86
Nicholas Baron aa4d41fe2c
AK+Kernel+LibELF: Remove the need for IteratorDecision::Continue
By constraining two implementations, the compiler will select the best
fitting one. All this will require is duplicating the implementation and
simplifying for the `void` case.

This constraining also informs both the caller and compiler by passing
the callback parameter types as part of the constraint
(e.g.: `IterationFunction<int>`).

Some `for_each` functions in LibELF only take functions which return
`void`. This is a minimal correctness check, as it removes one way for a
function to incompletely do something.

There seems to be a possible idiom where inside a lambda, a `return;` is
the same as `continue;` in a for-loop.
2021-05-16 10:36:52 +01:00
..
CPU.h AK+Kernel+LibELF: Remove the need for IteratorDecision::Continue 2021-05-16 10:36:52 +01:00
DescriptorTable.h Everywhere: Remove empty line after function body opening curly brace 2021-04-25 20:20:00 +02:00
Interrupts.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ISRStubs.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PageDirectory.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ProcessorInfo.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SafeMem.h Kernel: Enable building the kernel with -flto 2021-04-29 20:26:36 +02:00
SmapDisabler.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TSS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00