11 namespace boost {
namespace memory {
16 static constexpr std::size_t NO_ALIGNMENT = 1ul;
18 #if defined(__amd64__) || defined(__aarch64__) 25 static constexpr std::size_t WORD_ALIGNMENT = 8ul;
26 static constexpr std::size_t HALF_WORD_ALIGNMENT = 4ul;
27 #elif defined(__i686__) || defined(__arm__) 28 static constexpr std::size_t WORD_ALIGNMENT = 4ul;
29 static constexpr std::size_t HALF_WORD_ALIGNMENT = 2ul;
31 # error Unsupported CPU architecture 39 static constexpr
bool is_power_of_2(std::size_t x) noexcept;
49 template <std::
size_t alignment>
50 inline constexpr std::uint8_t* align_forward(std::uint8_t* address) noexcept;
60 template <std::
size_t alignment>
61 inline constexpr std::uint8_t* align_backward(std::uint8_t* address) noexcept;
72 template <std::
size_t alignment>
73 inline constexpr std::size_t align_size(std::size_t size) noexcept;
77 #include "alignment.ipp"