[master] explicitly include cstddef for size_t.
[master] avoid definin an internal structure in an unnamed namespace.

this seems to cause compile error (a spurious one) on some platforms.