конвертировать std :: vector & lt; T & gt; в набор данных ^

У меня есть вектор структур с ++, и мне нужно поместить это в управляемый типизированный набор данных.

std::vector<Record*> record_collection;

class Record{
public:
Record(){};
virtual ~Record(){};
virtual void serialize(std::ostream& dest){
dest << "Record" << std::endl;
}
};

Запись * является базовым классом — мне нужно обработать производный класс. Типичный пример

class TestRecord:public Record{
public:
TestRecord(){};
~TestRecord(){};
std::string t_str;
int t_int;
double t_double;
void serialize(std::ostream& dest){
dest << t_int << ',' << t_double << ',' << t_str << ',' << std::endl;
};
};

По сути, мне нужно воспроизвести метод сериализации, за исключением того, что мне нужно сделать DataColumns для t_str, t_int, а также t_doubleвведите соответствующие столбцы, а затем вставьте в них значения.

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

Кто-нибудь может посоветовать образец или предложение, которое поможет? Я мог бы сделать это с проверкой кортежа, если бы это был Python, но в c ++ 11 кортеж должен быть предопределенного типа.

Проблема здесь в том, что я не могу скомпилировать запись или TestRecord с / cli, и в этом случае я могу передать данные в запись и позволить ей заполнить ее самому — поэтому я ищу лучшее решение, чем те, которые у меня есть:

а) Написать управляемую оболочку для каждый производный класс
б) сделать тип проверки.

Есть шаблон, который я пропустил?

Спасибо,
Мелани

0

Решение

Задача ещё не решена.

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

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

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