#include <cstddef>
#include <cassert>
template<int size>
class Padding {
char padding[size];
};
//User can't do _anything_ with this type
//except make it, copy it, and destruct it.
struct Name {
long Id;
Padding<32> padding;
float X;
};
int main() {
assert(sizeof(int) == 4);
assert(sizeof(long) == 4);
assert(sizeof(float) == 4);
assert(offsetof(Name, Id) == 0);
assert(offsetof(Name, X) == 0x24);
Name a;
}