I'm building a data structure that can contain arbitrary type pairs (key, value) which will be stored and serialized through a base pointer. This data structure will be used between peers in a network and I can't make any guarantee that all type pairs exist on the receiving end. Boost can serialize a collection just fine but if an entry can't be serialized it will throw an exception and the deserialization will abort. In my case that is considered normal and that entry should be discarded and the deserialization should proceed.I'm building a data structure that can contain