Есть пример кода. Совершенно не понимаю что это. Можно просто ссылку, где почитать об этом.
/* implement hash function so we can put GridLocation into an unordered_set */
template <> struct hash<GridLocation> {
typedef GridLocation argument_type;
typedef std::size_t result_type;
std::size_t operator()(const GridLocation& id) const noexcept {
return std::hash<int>()(id.x ^ (id.y << 4));
}
};
Фрагмент с этого сайта.
Это не "шаблон без параметра". Это специализация шаблона, принимающего не менее одного параметра, для типа GridLocation. Это нужно для переопределения поведения шаблона для конкретного типа. Например has<int> будет иметь одну реализацию, а hash<GridLocation> - другую, hash<ваш_тип_тут> - третью.
Продвижение своими сайтами как стратегия роста и независимости