summaryrefslogtreecommitdiffstats
path: root/src/common/alignment.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-08-16 07:47:54 +0200
committerGitHub <noreply@github.com>2020-08-16 07:47:54 +0200
commitdb96034ea429cf0b0b5e2bac790392d9e2f50990 (patch)
tree9a1ed0bfc2d01d67d0f62383dbb2a1f4c9fb4eca /src/common/alignment.h
parentMerge pull request #4519 from lioncash/semi (diff)
parentcommon/compression: Roll back std::span changes (diff)
downloadyuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.tar
yuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.tar.gz
yuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.tar.bz2
yuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.tar.lz
yuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.tar.xz
yuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.tar.zst
yuzu-db96034ea429cf0b0b5e2bac790392d9e2f50990.zip
Diffstat (limited to 'src/common/alignment.h')
-rw-r--r--src/common/alignment.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/common/alignment.h b/src/common/alignment.h
index ef4d6f896..5040043de 100644
--- a/src/common/alignment.h
+++ b/src/common/alignment.h
@@ -9,7 +9,7 @@
namespace Common {
template <typename T>
-constexpr T AlignUp(T value, std::size_t size) {
+[[nodiscard]] constexpr T AlignUp(T value, std::size_t size) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
auto mod{static_cast<T>(value % size)};
value -= mod;
@@ -17,31 +17,31 @@ constexpr T AlignUp(T value, std::size_t size) {
}
template <typename T>
-constexpr T AlignDown(T value, std::size_t size) {
+[[nodiscard]] constexpr T AlignDown(T value, std::size_t size) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
return static_cast<T>(value - value % size);
}
template <typename T>
-constexpr T AlignBits(T value, std::size_t align) {
+[[nodiscard]] constexpr T AlignBits(T value, std::size_t align) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
return static_cast<T>((value + ((1ULL << align) - 1)) >> align << align);
}
template <typename T>
-constexpr bool Is4KBAligned(T value) {
+[[nodiscard]] constexpr bool Is4KBAligned(T value) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
return (value & 0xFFF) == 0;
}
template <typename T>
-constexpr bool IsWordAligned(T value) {
+[[nodiscard]] constexpr bool IsWordAligned(T value) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
return (value & 0b11) == 0;
}
template <typename T>
-constexpr bool IsAligned(T value, std::size_t alignment) {
+[[nodiscard]] constexpr bool IsAligned(T value, std::size_t alignment) {
using U = typename std::make_unsigned<T>::type;
const U mask = static_cast<U>(alignment - 1);
return (value & mask) == 0;
@@ -64,7 +64,7 @@ public:
template <typename T2>
constexpr AlignmentAllocator(const AlignmentAllocator<T2, Align>&) noexcept {}
- T* allocate(size_type n) {
+ [[nodiscard]] T* allocate(size_type n) {
return static_cast<T*>(::operator new (n * sizeof(T), std::align_val_t{Align}));
}