Почему в бусте есть шаблон функции checked_delete, но нет функтора с шаблонным оператором
struct versatile_delete
{
template<class T> void operator()(T* p) const
{ delete p; }
// или, если предполагается возможность специализации/перегрузки, то вот так
{ checked_delete(p); }
};