c++03/c++11 solution for #1

todo: think if that's enough that `T` is a POD aggregate