Шаблонная функция C ++ для массивов, векторов, встроенных типов, STL

Я хотел бы сделать класс, который имеет функцию, которая сохраняет отправленные ему данные, в текстовый файл. Данные, которые могут быть переданы ему, могут быть чем угодноstd::string, int, double, float, unsigned intи т. д., а также может быть:std::vector<T>, T[], а такжеstd::vector<std::vector<T>>, T[][].

Теперь, очевидно, если это массив, мне нужно будет пройти через него, чтобы отправить данные в текстовый файл.

Я думал об использовании шаблонов, но я не уверен, как сделать массивы.

Это путь?

class CMyClass
{
    template<typename T>
    void SaveData(T data);
    void SaveData(std::vector<T> data);
    void SaveData(std::string data);
    void SaveData(T* data);                // Perhaps I'll also need to pass in the size.
    void SaveData(std::vector<std::vector<T>> data);
    void SaveData(T** data);
};

Я представляю, что код дляstd::string будет таким же, как код дляstd::vector<T> при условии, чтоT является встроенным типом (какint или жеfloat или что-то).

А потом я пишу функции для каждого изSaveData(...) соответственно?

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

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