title: C++ serialization library that supports partial serialization?
body: <p>Are there any good existing C++ serialization libraries that support partial serialization?</p>
  
  <p>By "partial serialization" I mean that I might want to save the values of 3 specific members, and later be able to apply that saved copy to a different instance.  I'd only update those 3 members and leave the others intact.</p>
  
  <p>This would be useful for synchronizing data over a network.  Say I have some object on a client and a server, and when a member changes on the server I want to send the client a message containing the updated value for that member <em>and that member only</em>.  I don't want to send a copy of the whole object over the wire.</p>
  
  <p><a href="http://www.boost.org/libs/serialization/" rel="nofollow noreferrer"><code>boost::serialization</code></a> at a glance looks like it only supports all or nothing.</p>
  
  <p>Edit: 3 years after originally writing this I look back at it and say to myself, 'wut?' boost::serialization lets you define what members you want saved or not, so it would support 'partial serialization' as I seem to have described it. Further, since C++ lacks reflection serialization libraries require you to explicitly specify each member you're saving anyway unless they come with some sort of external tooling to parse the source files or have a separate input file format that is used to generate C++ code (e.g. what Protocol Buffers does). I think I must have been conceptually confused when I wrote this.</p>