Sorry for the long and confusing title.
I have a class header file like this
#pragma once
#include <thread>
#include <boost/asio.hpp>
#include <another3rdpartylib/doodads.h>
class A {
public:
A();
Method1();
Method2();
private:
std::thread thread;
boost::asio::socket socket;
another3dpartylib::doodad gizmo;
}
Now the users of the class don't and shouldn't care about the private parts.
How can I allow the users to include the class without dragging <thread>, <boost/asio.hpp> and <another3rdpartylib/doodads.h>?
Technically the only thing the users should care about is sizeof(A). Am I mistaken?