mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:47:44 +00:00
Everywhere: Use C++ concepts instead of requires clauses
This commit is contained in:
parent
9721da2e6a
commit
ae2abcebbb
17 changed files with 60 additions and 61 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <AK/Concepts.h>
|
||||
#include <AK/Forward.h>
|
||||
#include <LibCrypto/Forward.h>
|
||||
#include <LibJS/Forward.h>
|
||||
|
@ -167,9 +168,8 @@ Vector<T> merge_lists(Vector<T> const& a, Vector<T> const& b)
|
|||
}
|
||||
|
||||
// x modulo y, https://tc39.es/ecma262/#eqn-modulo
|
||||
template<typename T, typename U>
|
||||
template<Arithmetic T, Arithmetic U>
|
||||
auto modulo(T x, U y)
|
||||
requires(IsArithmetic<T>, IsArithmetic<U>)
|
||||
{
|
||||
// The notation “x modulo y” (y must be finite and non-zero) computes a value k of the same sign as y (or zero) such that abs(k) < abs(y) and x - k = q × y for some integer q.
|
||||
VERIFY(y != 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue