C ++ - Отдельное объявление / определение для шаблонной функции в шаблонном классе

Мне известно, что синтаксис объявления метода класса шаблона в заголовке и определения его в исходном файле выглядит так:

myclass.h

template 
class MyClass {
  public:
    void method(T input);
  private:
    T privVar;
};

myclass.cpp

template 
void MyClass::method(T input) {
    privVar = input;
}

Но что, если метод также является шаблоном? Я добавляю методы кbasic_string класс, и я хочу знать, как написать реализацию для функций.

MyString.h

template 
class String
    : public std::basic_string {
  private:
    // Types for the conversion operators.
    typedef       _Elem* _StrTy;
    typedef const _Elem* _ConstStrTy;

    //...

  public:
        // Conversion operators so 'String' can easily be
        // assigned to a C-String without calling 'c_str()'.
    operator _StrTy() const {
        return const_cast(this->c_str());
    }

    operator _ConstStrTy() const {
        return this->c_str();
    }

    // ... Constructors ...

    /*------------ Additional Methods ------------*/

    //! Converts a value of the given type to a string.
    template  static String ConvertFrom(_ValTy val);

    //! Converts a string to the given type.
    template  static _ValTy ConvertTo(const String& str);
    template  _ValTy ConvertTo(void) const;

    //! Checks if a string is empty or is whitespace.
    static bool IsNullOrSpace(const String& str);
    bool IsNullOrSpace(void) const;

    //! Converts a string to all upper-case.
    static String ToUpper(String str);
    void ToUpper(void);

    // ...
};

Как я мог реализоватьtemplate static String ConvertFrom(_ValTy val);? Потому что теперь мне нужно указать не только шаблон класса, но и шаблон функции. Я держу пари, что кодя собираюсь написать неЭто верно, но оно должно показать, чего я пытаюсь достичь:

MyString.cpp

template 
template 
String String::ConvertFrom(_ValTy val) {
    // Convert value to String and return it...
}

Я не продвинутый вообще с шаблонами. Мало того, что я очень сомневаюсь в том, что вышеприведенное действительно, оно кажется громоздким и не очень читабельным. Как мне реализовать методы шаблона и методы статического шаблона, которые возвращают свой собственный тип класса? Потому что я неЯ не хочу определять их в заголовке.

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

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