Недавно была одна задача и в голове родился вариант ее реализации. Но для этого нужна сия сущность. Думал как это осуществить, но так и толкового ничего не пришло. Суть вот в чем - допустим, у нас есть некий шаблонный класс Foo с функцией bar:
template<class _T>
class Foo
{
public:
void bar();
};
И теперь нужно сделать так, чтобы при инстанцировании и создании обьекта с целочисленным типом эту функцию можно было вызвать и она работала, а при попытке создать обьект с другим типом параметра и в дальнейшем вызвать функцию bar выкидывался static assertion или что-то подобное. При этом, если создать объект не с целочисленным параметром и не вызывать эту функцию - все работало. Специализация тут не подходит, ибо должно работать для std::is_integral == true, для остального нет. И при этом, чтобы просчитывалось при компиляции и в бинарник лишнего не попадало.
P.S Да, запросы огромные. Но если родили каким-то чудом Boost, то уж это, думаю точно можно.