From f4fae271c2e135a1b839a38382d5ee5ba0f2c6eb Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Fri, 26 Aug 2022 10:57:03 -0700 Subject: [PATCH] memory: Add memory literals --- include/mcl/memory/literals.hpp | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 include/mcl/memory/literals.hpp diff --git a/include/mcl/memory/literals.hpp b/include/mcl/memory/literals.hpp new file mode 100644 index 0000000..3345f7c --- /dev/null +++ b/include/mcl/memory/literals.hpp @@ -0,0 +1,36 @@ +// This file is part of the mcl project. +// Copyright (c) 2022 merryhime +// SPDX-License-Identifier: MIT + +#pragma once + +#include "mcl/stdint.hpp" + +namespace mcl::memory::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 mcl::memory::literals \ No newline at end of file