acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
integral_byte.h
1// From unit.h by camilo on 2023-06-29 08:54 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5class integral_byte
6{
7public:
8
9
10 memsize m_memsize;
11
12
13 constexpr integral_byte(memsize memsize = 1) :
14 m_memsize(memsize)
15 {
16
17
18 }
19
20 constexpr operator memsize() const { return m_memsize; }
21
22
23};
24
25
26constexpr integral_byte operator ""_KiB(::f128 d)
27{
28
29 return (memsize)(1024.0 * d);
30
31}
32
33
34constexpr integral_byte operator ""_KiB(::u64 i)
35{
36
37 return (memsize)(i << 10);
38
39}
40
41
42constexpr integral_byte operator ""_MiB(::f128 d)
43{
44
45 return (memsize)(1024.0 * 1024.0 * d);
46
47}
48
49
50constexpr integral_byte operator ""_MiB(::u64 i)
51{
52
53 return (memsize)(i << 20);
54
55}
56
57
58constexpr integral_byte operator ""_GiB(::f128 d)
59{
60
61 return (memsize)(1'024.0 * 1'024.0 * 1'024.0 * d);
62
63}
64
65
66constexpr integral_byte operator ""_GiB(::u64 i)
67{
68
69 return (memsize)(i << 30);
70
71}
72
73
74CLASS_DECL_ACME ::string & copy(::string & str, const integral_byte & memsize);
75
76
77
Definition integral_byte.h:6