I'm using gcc-4.9 which does not have the is_trivially_constructible
type trait. Looking into the libstdc++ source code (type_traits), this depends on __is_trivially_constructible
which is implemented in the compiler itself.
I was wondering if it was possible to implement this trait as a library rather than relying on compiler such that I can use this in my project which is stuck using gcc-4.9.
No, it's not possible (otherwise we probably would have already done it in libstdc++!)
We had to wait for the new compiler builtin to be implemented.
Using is_scalar
is a conservative approximation, but is obviously wrong for trivially constructible class types.