The pImpl idiom is a useful idiom in C++ to reduce compile-time dependencies. Here is a quick overview of what to keep in mind when we implement and use it.

Keep simple data structures simple! There’s no need for artificial pseudo-encapsulation when all you have is a bunch of data.