Hardware Verification with C++: A Practitioners Handbook