ファイルとディレクトリに関するタイプ、統計などをキャッシュする新しい種類の検索エンジンを開発する途中で、現在、次を使用して内部ディレクトリツリーの永続的なキャッシュを実装しようとしていますmsgpack-d
:
Boost.Serializationmsgpack-d
のように、1 つの共通テンプレート (メンバー) 関数のオーバーロードを介して、std.serialization
(オレンジ)パッキングとアンパッキングの両方の実装をサポートしないのはなぜですか? たとえば、この簡潔で洗練されたテンプレート メンバー関数を使用してコンテナーをシリアル化できます。
friend class boost::serialization::access;
template<class Ar> void serialize(Ar& ar, const uint version) {
for (const auto& e : *this) { ar & e; }
}
pack
これにより、コード サイズが半分になり、とunpack
が同期しなくなるリスクがなくなります。このアプローチを使用することで大きな欠点を見逃したことがありますか、それとも単にこのアプローチが優先されていないのでしょうか?