mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:17:44 +00:00
Add clang-format file
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
This commit is contained in:
parent
c11351ac50
commit
0dc9af5f7e
286 changed files with 3244 additions and 2424 deletions
|
@ -1,10 +1,10 @@
|
|||
#pragma once
|
||||
|
||||
#ifdef KERNEL
|
||||
#include <Kernel/StdLib.h>
|
||||
# include <Kernel/StdLib.h>
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
# include <stdlib.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
#define UNUSED_PARAM(x) (void)x
|
||||
|
@ -27,8 +27,7 @@ extern "C" void* mmx_memcpy(void* to, const void* from, size_t);
|
|||
"rep movsl\n"
|
||||
: "=S"(src), "=D"(dest), "=c"(count)
|
||||
: "S"(src), "D"(dest), "c"(count)
|
||||
: "memory"
|
||||
);
|
||||
: "memory");
|
||||
}
|
||||
|
||||
[[gnu::always_inline]] inline void fast_dword_fill(dword* dest, dword value, size_t count)
|
||||
|
@ -37,13 +36,12 @@ extern "C" void* mmx_memcpy(void* to, const void* from, size_t);
|
|||
"rep stosl\n"
|
||||
: "=D"(dest), "=c"(count)
|
||||
: "D"(dest), "c"(count), "a"(value)
|
||||
: "memory"
|
||||
);
|
||||
: "memory");
|
||||
}
|
||||
|
||||
inline constexpr dword round_up_to_power_of_two(dword value, dword power_of_two)
|
||||
{
|
||||
return ((value - 1) & ~ (power_of_two - 1)) + power_of_two;
|
||||
return ((value - 1) & ~(power_of_two - 1)) + power_of_two;
|
||||
}
|
||||
|
||||
namespace AK {
|
||||
|
@ -60,7 +58,6 @@ inline T max(const T& a, const T& b)
|
|||
return a < b ? b : a;
|
||||
}
|
||||
|
||||
|
||||
template<typename T, typename U>
|
||||
static inline T ceil_div(T a, U b)
|
||||
{
|
||||
|
@ -72,16 +69,16 @@ static inline T ceil_div(T a, U b)
|
|||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wconsumed"
|
||||
# pragma clang diagnostic push
|
||||
# pragma clang diagnostic ignored "-Wconsumed"
|
||||
#endif
|
||||
template <typename T>
|
||||
template<typename T>
|
||||
T&& move(T& arg)
|
||||
{
|
||||
return static_cast<T&&>(arg);
|
||||
}
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
# pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
template<typename T>
|
||||
|
@ -107,26 +104,37 @@ template<typename T, typename U>
|
|||
void swap(T& a, U& b)
|
||||
{
|
||||
U tmp = move((U&)a);
|
||||
a = (T&&)move(b);
|
||||
a = (T &&) move(b);
|
||||
b = move(tmp);
|
||||
}
|
||||
|
||||
template<bool B, class T = void>
|
||||
struct EnableIf
|
||||
{
|
||||
struct EnableIf {
|
||||
};
|
||||
|
||||
template<class T>
|
||||
struct EnableIf<true, T>
|
||||
{
|
||||
struct EnableIf<true, T> {
|
||||
typedef T Type;
|
||||
};
|
||||
|
||||
template<class T> struct RemoveConst { typedef T Type; };
|
||||
template<class T> struct RemoveConst<const T> { typedef T Type; };
|
||||
template<class T> struct RemoveVolatile { typedef T Type; };
|
||||
template<class T> struct RemoveVolatile<const T> { typedef T Type; };
|
||||
template<class T> struct RemoveCV {
|
||||
template<class T>
|
||||
struct RemoveConst {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemoveConst<const T> {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemoveVolatile {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemoveVolatile<const T> {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemoveCV {
|
||||
typedef typename RemoveVolatile<typename RemoveConst<T>::Type>::Type Type;
|
||||
};
|
||||
|
||||
|
@ -143,69 +151,145 @@ typedef IntegralConstant<bool, false> FalseType;
|
|||
typedef IntegralConstant<bool, true> TrueType;
|
||||
|
||||
template<class T>
|
||||
struct __IsPointerHelper : FalseType { };
|
||||
struct __IsPointerHelper : FalseType {
|
||||
};
|
||||
|
||||
template<class T>
|
||||
struct __IsPointerHelper<T*> : TrueType { };
|
||||
struct __IsPointerHelper<T*> : TrueType {
|
||||
};
|
||||
|
||||
template<class T>
|
||||
struct IsPointer : __IsPointerHelper<typename RemoveCV<T>::Type> { };
|
||||
struct IsPointer : __IsPointerHelper<typename RemoveCV<T>::Type> {
|
||||
};
|
||||
|
||||
template<class> struct IsFunction : FalseType { };
|
||||
template<class>
|
||||
struct IsFunction : FalseType {
|
||||
};
|
||||
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...)> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...)> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) const> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) const> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) volatile> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) volatile> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) const volatile> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) const volatile> : TrueType { };
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...)> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...)> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) const> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) const> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) volatile> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) volatile> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) const volatile> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) const volatile> : TrueType {
|
||||
};
|
||||
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) const &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) const &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) volatile &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) volatile &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) const volatile &> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) const volatile &> : TrueType { };
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...)&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...)&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) const&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) const&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) volatile&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) volatile&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) const volatile&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) const volatile&> : TrueType {
|
||||
};
|
||||
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) const &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) const &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) volatile &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) volatile &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...) const volatile &&> : TrueType { };
|
||||
template<class Ret, class... Args> struct IsFunction<Ret(Args...,...) const volatile &&> : TrueType { };
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) &&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) &&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) const&&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) const&&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) volatile&&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) volatile&&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args...) const volatile&&> : TrueType {
|
||||
};
|
||||
template<class Ret, class... Args>
|
||||
struct IsFunction<Ret(Args..., ...) const volatile&&> : TrueType {
|
||||
};
|
||||
|
||||
template<class T> struct IsRvalueReference : FalseType { };
|
||||
template<class T> struct IsRvalueReference<T&&> : TrueType { };
|
||||
template<class T>
|
||||
struct IsRvalueReference : FalseType {
|
||||
};
|
||||
template<class T>
|
||||
struct IsRvalueReference<T&&> : TrueType {
|
||||
};
|
||||
|
||||
template<class T> struct RemovePointer { typedef T Type; };
|
||||
template<class T> struct RemovePointer<T*> { typedef T Type; };
|
||||
template<class T> struct RemovePointer<T* const> { typedef T Type; };
|
||||
template<class T> struct RemovePointer<T* volatile> { typedef T Type; };
|
||||
template<class T> struct RemovePointer<T* const volatile> { typedef T Type; };
|
||||
template<class T>
|
||||
struct RemovePointer {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemovePointer<T*> {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemovePointer<T* const> {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemovePointer<T* volatile> {
|
||||
typedef T Type;
|
||||
};
|
||||
template<class T>
|
||||
struct RemovePointer<T* const volatile> {
|
||||
typedef T Type;
|
||||
};
|
||||
|
||||
template<typename T, typename U>
|
||||
struct IsSame {
|
||||
enum { value = 0 };
|
||||
enum {
|
||||
value = 0
|
||||
};
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
struct IsSame<T, T> {
|
||||
enum { value = 1 };
|
||||
enum {
|
||||
value = 1
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
using AK::min;
|
||||
using AK::max;
|
||||
using AK::move;
|
||||
using AK::forward;
|
||||
using AK::exchange;
|
||||
using AK::swap;
|
||||
using AK::ceil_div;
|
||||
using AK::exchange;
|
||||
using AK::forward;
|
||||
using AK::IsSame;
|
||||
using AK::max;
|
||||
using AK::min;
|
||||
using AK::move;
|
||||
using AK::swap;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue