22 lines
		
	
	
		
			440 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			440 B
		
	
	
	
		
			C++
		
	
	
	
	
	
 | 
						|
#pragma once
 | 
						|
 | 
						|
#if !defined(MIJIN_UTIL_ALIGN_HPP_INCLUDED)
 | 
						|
#define MIJIN_UTIL_ALIGN_HPP_INCLUDED 1
 | 
						|
 | 
						|
namespace mijin
 | 
						|
{
 | 
						|
template<typename T>
 | 
						|
constexpr T alignUp(T value, T alignTo) noexcept
 | 
						|
{
 | 
						|
    if (value % alignTo != 0)
 | 
						|
    {
 | 
						|
        return value + alignTo - (value % alignTo);
 | 
						|
    }
 | 
						|
    return value;
 | 
						|
}
 | 
						|
 | 
						|
#define MIJIN_STRIDEOF(T) mijin::alignUp(sizeof(T), alignof(T))
 | 
						|
} // namespace mijin
 | 
						|
 | 
						|
#endif // !defined(MIJIN_UTIL_ALIGN_HPP_INCLUDED)
 |