>>13
Of course they are. You just forward-declare the struct in the header file; its contents are encapsulated away. Now you don't need to recompile dependencies when the struct changes.
You can't do that with sepples classes, unless, as with most of sepples, you hack around it. Hence the pimpl idiom, which of all programming languages is only ever used in sepples.