Мой std :: hash для std :: tuples ... Есть улучшения? [закрыто]

Некоторые, возможно, заметили, что std :: hash не поддерживает кортежи. Поэтому я добавил перегрузку, которая только кажетсялучше» чем решение, которое я видел до сих пор. У кого-нибудь есть идеи по дальнейшему сокращению этого кода? Обратите внимание, что это убийца компилятора! Единственное, что могло скомпилировать этоЛязг 3,2 "... Intel Compiler 13.1 не получает специализацию и продолжает говорить "Стандарт C ++ не поддерживает хэш-блаблы, И мы неНе надо говорить об оригинальном компиляторе Microsoft, не так ли?

Кстати, мое решение поддерживает рекурсивные кортежи, такие какstd::tuple поэтому я не уверен, относится ли это к существующим решениям, которые я видел сегодня.

namespace std
{
    template
    class hash
    {
    private:
        typedef std::tuple Tuple;

        template
        size_t operator()(Tuple value) const { return 0; }

        template
        size_t operator()(Tuple value) const
        {
            constexpr int Index = N - sizeof...(TTail) - 1;
            return hash()(std::get(value)) ^ operator()(value);
        }

    public:
        size_t operator()(Tuple value) const
        {
            return operator()(value);
        }
    };
}

Ответы на вопрос(1)

Ваш ответ на вопрос