hipo-cpp