2
3
4
5
13
14
20
21
22
23
24
25 template <
class integral>
26 static constexpr bool is_aligned(integral x, size_t a)
noexcept;
29
30
31
32
33 template <
class integral>
34 static constexpr integral
align_up(integral x, size_t a)
noexcept;
37
38
39
40
41 template <
class integral>
42 static constexpr integral
align_down(integral x, size_t a)
noexcept;
45 template<
class integral>
46 inline constexpr bool MemoryLibrary::is_aligned(integral x, size_t a)
noexcept
50 return (x & (integral(a) - 1)) == 0;
53 template<
class integral>
54 inline constexpr integral
MemoryLibrary::align_up(integral x, size_t a)
noexcept
58 return integral((x + (integral(a) - 1)) & ~integral(a - 1));
61 template<
class integral>
62 inline constexpr integral
MemoryLibrary::align_down(integral x, size_t a)
noexcept
66 return integral(x & ~integral(a - 1));
#define SPICES_PROFILE_ZONE
static constexpr integral align_up(integral x, size_t a) noexcept
Align up a memory size aligned with specific value.
static constexpr integral align_down(integral x, size_t a) noexcept
Align down a memory size aligned with specific value.
static constexpr bool is_aligned(integral x, size_t a) noexcept
Determine is memory size aligned with specific value.
Memory Static Function Library.