From 12207dcb776d12f61debe24b9184c5c629df4a20 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Sat, 21 Feb 2026 03:55:01 +0200 Subject: [PATCH] BAN: Add is_trivially_copyable trait --- BAN/include/BAN/Traits.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/BAN/include/BAN/Traits.h b/BAN/include/BAN/Traits.h index ce755f8a..8b9639ad 100644 --- a/BAN/include/BAN/Traits.h +++ b/BAN/include/BAN/Traits.h @@ -61,6 +61,9 @@ namespace BAN template struct is_move_constructible { static constexpr bool value = is_constructible_v; }; template inline constexpr bool is_move_constructible_v = is_move_constructible::value; + template struct is_trivially_copyable { static constexpr bool value = __is_trivially_copyable(T); }; + template inline constexpr bool is_trivially_copyable_v = is_trivially_copyable::value; + template struct is_integral { static constexpr bool value = requires (T t, T* p, void (*f)(T)) { reinterpret_cast(t); f(0); p + t; }; }; template inline constexpr bool is_integral_v = is_integral::value; template concept integral = is_integral_v;