How can I make it so that I don't have to include both A.h and THandle.h in B.h?
No need to #include "A.h".
#include "A.h"
#include "THandle.h" struct A; class B { THandle<A> SomeAInstance; };