Add de::alignOf<T>() to deDefs.hpp
authorPyry Haulos <phaulos@google.com>
Tue, 15 Dec 2015 23:42:33 +0000 (15:42 -0800)
committerPyry Haulos <phaulos@google.com>
Tue, 15 Dec 2015 23:42:33 +0000 (15:42 -0800)
Change-Id: I639b7e509521116f3b0f77233c9a2457403dd230

framework/delibs/decpp/deDefs.hpp

index d9b9c48..13ac89e 100644 (file)
@@ -71,6 +71,14 @@ template<typename T> struct ArrayDeleter
        inline void operator() (T* ptr) const { delete[] ptr; }
 };
 
+//! Get required memory alignment for type
+template<typename T>
+size_t alignOf (void)
+{
+       struct PaddingCheck { deUint8 b; T t; };
+       return (size_t)DE_OFFSET_OF(PaddingCheck, t);
+}
+
 } // de
 
 /*--------------------------------------------------------------------*//*!