Might be pretty hard, C++ has some features D doesn't, not sure how you would emulate them. C++ has these, I don't think D does: move only types r-value references SFINAE ADL Multiple inheritance