/*! * \brief A std::aligned_storage-compatible type that supports extended * alignments greater than std::alignment_of::value. */ template struct aligned_storage; #define IMPLEMENT_ALIGNED_STORAGE(_Align) \ template \ struct aligned_storage<_Len, _Align> \ { \ typedef __declspec(align(_Align)) char type[_Len]; \ }; IMPLEMENT_ALIGNED_STORAGE(1) IMPLEMENT_ALIGNED_STORAGE(2) IMPLEMENT_ALIGNED_STORAGE(4) IMPLEMENT_ALIGNED_STORAGE(8) IMPLEMENT_ALIGNED_STORAGE(16) IMPLEMENT_ALIGNED_STORAGE(32) #undef IMPLEMENT_ALIGNED_STORAGE