3 #ifndef VISR_LIBEFL_ALIGNMENT_HPP_INCLUDED 4 #define VISR_LIBEFL_ALIGNMENT_HPP_INCLUDED 29 return ((alignmentVal != 0) && ((alignmentVal & (~alignmentVal + 1)) == alignmentVal));
51 std::size_t
const actualAlignment = alignment *
sizeof( T );
57 std::ptrdiff_t
const bitMask =
static_cast<std::ptrdiff_t
>(actualAlignment - 1);
58 std::ptrdiff_t ptrVal =
reinterpret_cast<std::ptrdiff_t
>(ptr);
59 return (ptrVal bitand bitMask) == 0;
76 std::size_t
const rem = size % alignment;
83 return (size / alignment + 1) * alignment;
90 #endif // #ifndef VISR_LIBEFL_ALIGNMENT_HPP_INCLUDED bool alignmentIsPowerOfTwo(std::size_t alignmentVal)
Definition: alignment.hpp:27
std::size_t nextAlignedSize(std::size_t size, std::size_t alignment)
Definition: alignment.hpp:70
bool checkAlignment(T const *ptr, std::size_t alignment)
Definition: alignment.hpp:45
Definition: options.cpp:10