запись объекта tf :: transform в файл

Я пытаюсь сделать что-то похожее на следующий блок кода:

tf::transform t;
initializeTransform(t);
std::ofstream f;
f.open("somefile");
f << t << std::endl;
f.close();

Предполагая, что я правильно настроил это f а также t когда я пытаюсь написать t в fКак бы я это сделал? Я попробовал несколько вариантов этого, и все они приводят к огромной стене текста, что ofstream не знает, как обрабатывать объект tf :: transform, что неудивительно.

Есть ли способ сделать ofstream взять произвольные предметы? Есть ли какой-нибудь формат, который я мог бы легко преобразовать в более удобный для потоковой передачи? В идеале, если я конвертирую это, я хотел бы иметь способ обратимо конвертировать это в некоторую матрицу, которую я могу передать прямо в файл и из файла.

0

Решение

Реализовать оператора
Я не уверен в содержании структуры преобразования в этом случае, но предполагая, что это:

struct transform { float mat[16]; }

Тогда реализация может быть что-то вроде:

std::ostream& operator<< (std::ostream& os, const tf::transform& t)
{
os << t.mat[0];
for(int i=1;i<16;++i) os << ',' << t.mat[i];
return os;
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]