support for GCC4.7: optional in-place constructor