cpp auto complement