c++ deleter signature