export module Core.AlignedData; export import Core.Types; export namespace Core { template class alignas(ALIGNMENT) AlignedData final { char buffer[SIZE] = {}; public: template constexpr T* as() { return reinterpret_cast(this); } template constexpr const T* as() const { return reinterpret_cast(this); } static consteval size_t getSize() { return SIZE; } static consteval size_t getAlignment() { return ALIGNMENT; } }; template using AlignedType = AlignedData; }