Jelajahi Sumber

common: alignment: Add DivideUp utility method.

bunnei 5 tahun lalu
induk
melakukan
b5b92fd1e5
1 mengubah file dengan 5 tambahan dan 0 penghapusan
  1. 5 0
      src/common/alignment.h

+ 5 - 0
src/common/alignment.h

@@ -42,6 +42,11 @@ requires std::is_integral_v<T>[[nodiscard]] constexpr bool IsAligned(T value, si
     return (value & mask) == 0;
 }
 
+template <typename T, typename U>
+requires std::is_integral_v<T>[[nodiscard]] constexpr T DivideUp(T x, U y) {
+    return (x + (y - 1)) / y;
+}
+
 template <typename T, size_t Align = 16>
 class AlignmentAllocator {
 public: