hardcpp