common: alignment: Add a helper function for generic alignment checking.
This commit is contained in:
		| @@ -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: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user