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