ブーストを使用してArmadillo colvecオブジェクトをシリアライズ/デシリアライズしようとしています。 colvecは、いくつかの異なるサイズを持つ列ベクトルです。 2次元ベクトルの場合は2行、3dベクトルの場合は3行、コードでは他の特定のベクトルサイズも使用できます。Armadillo colvecをブーストで非直列化
デシリアライズ時にcolvecの行数が不明な場合、昇順でcolvec型のシリアライズを処理する方法がわかりません。
はシリアライズする例えば、私は次のようなものがあります - は
namespace boost
{
namespace serialization
{
template<class Archive>
void serialize(Archive& archive, colvec& vector, unsigned int)
{
for (int i=0; i<vector.size(); i++)
{
archive& vector[i];
}
}
}
}
これは、任意の数の行とcolvecをシリアライズします。しかし、このコードを「逆シリアル化」中に実行すると、vectorはsize()== 0のcolvecになります。必要な行数は不明です。
これを処理するにはどうすればよいのだろうかと思っていました。
私は間違いの可能性があります。私はArmadilloとBoostの両方に新しいです。
はい、申し訳ありませんが、colvecはマットのためのアルマジロのtypedefでありますクラス。私はこの例でstd :: vectorを使用していません... – user3079907
colvecとは何ですか? ['arma :: Col'](https://stackoverflow.com/q/39890640/1460794)? – wally
はい、Matから派生したColのtypedefです。 – user3079907