шаблонная специализация шаблонного класса

Я хочу специализировать следующую функцию-член:

class foo {
    template
    T get() const;
};

В другой классbar это также зависит от шаблонов.

Например, я хотел быbar бытьstd::pair с некоторыми параметрами шаблона, что-то вроде этого:

template
std::pair foo::get() const
{
    T1 x=...;
    T2 y=...;
    return std::pair(x,y);
}

Где T1 и T2 также являются шаблонами. Как это может быть сделано? Насколько я знаю, это должно быть возможно.

Так что теперь я могу позвонить:

some_foo.get();

Полный / окончательный ответ:

template struct traits;
class foo {
    template
    T get() const
    {
       return traits::get(*this); 
    }
};

template
struct traits {
    static T get(foo &f)
    {
        return f.get();
    }
};

template
struct traits {
        static std::pair get(foo &f)
        {
                T1 x=...;
                T2 y=...;
                return std::make_pair(x,y);
        }
};

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

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