1#ifndef INTNS_MEMORY_ALIGNMENT_HPP
2#define INTNS_MEMORY_ALIGNMENT_HPP
7namespace intns::memory {
16inline constexpr std::uintptr_t align_address(std::uintptr_t addr,
17 std::size_t alignment)
noexcept {
18 return (addr + alignment - 1) & ~(alignment - 1);
28inline constexpr bool is_aligned(std::uintptr_t addr,
29 std::size_t alignment)
noexcept {
30 return (addr & (alignment - 1)) == 0;
39inline constexpr bool is_power_of_two(std::size_t value)
noexcept {
40 return value != 0 && (value & (value - 1)) == 0;