Browse Source

common: alignment: Add a helper function for generic alignment checking.

nce_cpp
bunnei 6 years ago
parent
commit
94e00fbb3f
  1. 7
      src/common/alignment.h

7
src/common/alignment.h

@ -38,6 +38,13 @@ constexpr bool IsWordAligned(T value) {
return (value & 0b11) == 0; return (value & 0b11) == 0;
} }
template <typename T>
constexpr bool IsAligned(T value, std::size_t alignment) {
using U = typename std::make_unsigned<T>::type;
const U mask = static_cast<U>(alignment - 1);
return (value & mask) == 0;
}
template <typename T, std::size_t Align = 16> template <typename T, std::size_t Align = 16>
class AlignmentAllocator { class AlignmentAllocator {
public: public:

Loading…
Cancel
Save