Есть файл вида:
cmd1 10,20,15;cmd2 40 30 15;cmd3 2 1 15;
И массив структур вида:
typedef struct
{
int CmdID;
int x;
int y;
int z;
} CMD;
typedef std::vector< CMD > Commands;
Как средствами spirit (!) заполнить Commands из такого файла?
В доках есть пример, который парсерит числа, разделенные запятыми в вектор:
bool
parse_numbers(char const* str, vector<double>& v)
{
return parse(str,
// Begin grammar
(
real_p[append(v)] >> *(',' >> real_p[append(v)])
)
,
// End grammar
space_p).full;
}
Можно ли сделать что-то такое?
bool
parse_numbers(char const* str, vector<CMD>& v)
{
//...
}