std::ostringstream oss;
boost::archive::text_oarchive oa(oss);
我向此oa添加了可变数量的内容,例如
oa & int1;
oa &int2;
--------------------> insert number of matrices here
oa & matrix1;
..//do some processing
oa & matrix2;
...//do some more
....
oa & matrixn;
矩阵参考 - http://robot.kaist.ac.kr/haptics/chai3d-2.0.0_Doc/resources/html/structc_matrix3d.html
现在结束时,我想在udp发送之前添加矩阵之前插入我添加到此存档中的矩阵数。但我也知道在添加到流中后添加了多少矩阵
我该怎么做?
答案 0 :(得分:0)
你做不到
oa & matrix1.
要做到这一点,矩阵必须是一个简单的类型(它不是)或实现函数序列化。 您可以覆盖矩阵实现序列化,然后使用它。
这是一个很好的参考:http://www.boost.org/doc/libs/1_54_0/libs/serialization/doc/tutorial.html
你可以从一开始 oss<< (INT)0; 然后在你把所有的搜索都写回到开头并用你添加的项目数重写前4个字节。