30#ifndef _GLIBCXX_ALIGN_H
31#define _GLIBCXX_ALIGN_H 1
37namespace std _GLIBCXX_VISIBILITY(default)
39_GLIBCXX_BEGIN_NAMESPACE_VERSION
64 const auto __intptr =
reinterpret_cast<__UINTPTR_TYPE__
>(
__ptr);
76#ifdef __glibcxx_assume_aligned
87 template<
size_t _Align,
class _Tp>
88 [[nodiscard,__gnu__::__always_inline__]]
99 _GLIBCXX_DEBUG_ASSERT((__UINTPTR_TYPE__)
__ptr %
_Align == 0);
105_GLIBCXX_END_NAMESPACE_VERSION
constexpr _Tp * assume_aligned(_Tp *__ptr) noexcept
Inform the compiler that a pointer is aligned.
void * align(size_t __align, size_t __size, void *&__ptr, size_t &__space) noexcept
Fit aligned storage in buffer.
ISO C++ entities toplevel namespace is std.