aboutsummaryrefslogtreecommitdiff
path: root/src/common/literals.h
diff options
context:
space:
mode:
authorWunkolo <Wunkolo@gmail.com>2021-06-23 14:18:27 -0700
committerWunkolo <Wunkolo@gmail.com>2021-06-24 09:27:40 -0700
commit4569f39c7c1e3d7ce010f0b120e1f45dbba17b1c (patch)
tree591792bc47e26bc812e753b0891aab94a8a88352 /src/common/literals.h
parent809e5fd52317f0a925ca463eca85a0b67d744f9e (diff)
common: Replace common_sizes into user-literals
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
Diffstat (limited to 'src/common/literals.h')
-rw-r--r--src/common/literals.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/common/literals.h b/src/common/literals.h
new file mode 100644
index 0000000000..d55fed40be
--- /dev/null
+++ b/src/common/literals.h
@@ -0,0 +1,31 @@
+// Copyright 2021 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "common/common_types.h"
+
+namespace Common::Literals {
+
+constexpr u64 operator""_KiB(unsigned long long int x) {
+ return 1024ULL * x;
+}
+
+constexpr u64 operator""_MiB(unsigned long long int x) {
+ return 1024_KiB * x;
+}
+
+constexpr u64 operator""_GiB(unsigned long long int x) {
+ return 1024_MiB * x;
+}
+
+constexpr u64 operator""_TiB(unsigned long long int x) {
+ return 1024_GiB * x;
+}
+
+constexpr u64 operator""_PiB(unsigned long long int x) {
+ return 1024_TiB * x;
+}
+
+} // namespace Common::Literals