Yea I had thought about this but haven't tried it yet. I am working on this tonight. I have another question that could help me. Is their a documentation available on exactly what is serialized in the archive, the class format and related stuff seem to be serialized as a list of numbers (at least in text archive it appears so, forgive me if I am wrong). What is serialized exactly for each class (beside what the user specifies of course!)? 
<br><br>If found that on a forum but I am not sure how relevant it is (from basic_archive.cpp) :<br><br>//////////////////////////////////////////////////////////////////////
<br>
//
<br>
// class_information is stored as
<br>
//
<br>
//      class_id*   // -1 for a null pointer
<br>
//      if a new class id
<br>
//      [
<br>
//          exported key - class name*
<br>
//          tracking level - always/never
<br>
//          file version
<br>
//      ]
<br>
//
<br>
//      if tracking
<br>
//      [
<br>
//          object_id
<br>
//      ]
<br>
//          
<br>
//      [   // if a new object id
<br>
//          data...
<br>
//      ]
<br>
//
<br>
//  * required only for pointers - optional for objects
<br><br>Thank you!<br><br><div><span class="gmail_quote">On 10/19/07, <b class="gmail_sendername">Robert Ramey</b> &lt;<a href="mailto:ramey@rrsd.com">ramey@rrsd.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">






<div bgcolor="#ffffff">
<div><font face="Arial" size="2">I&#39;ve never thought about this, but my first attempt 
would be something like&nbsp; the following:</font></div>
<div><font face="Arial" size="2"></font>&nbsp;</div>
<div><font face="Arial" size="2">template&lt;class Archive&gt;</font></div>
<div><font face="Arial" size="2">void load(Archiv &amp;ar , C &amp;c, const unsigned 
int version){</font></div>
<div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; if(version &lt; 
4&gt;)</font></div>
<div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
ar&nbsp;&gt;&gt; boost::serialization::base_object&lt;A&gt;(c);</font></div>
<div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; else</font></div>
<div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
ar&nbsp;&gt;&gt; boost::serialization::base_object&lt;B&gt;(c);</font></div>
<div><font face="Arial" size="2">}</font></div>
<blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
  <div>&quot;Fred Lupien&quot; &lt;<a href="mailto:fred.lupien@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">fred.lupien@gmail.com</a>&gt; wrote in 
  message <a href="news:32e6d6bf0710190708x45191057ld2a23a92399f59e4@mail.gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">news:32e6d6bf0710190708x45191057ld2a23a92399f59e4@mail.gmail.com
</a>...</div><span class="q">
  <div>Hello,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; we are currently 
  implementing serialization versioning using boost and I am curious to know if 
  their is a way to support a changing class hierarchy. Let&#39;s say C derives from 
  A for a while and then a change requires C to derive from B instead, which 
  derives from A. Is it possible to support such a change provided we know what 
  default values are needed for the new class? I tried and even if don&#39;t 
  serialize anything in class C I get stream errors because I believe boost 
  saves some base info for each class. When it tries to reload those value from 
  a old stream, obviously it desynchronizes it because the values are not in the 
  stream. So is their a way around this? <br><br>Also is it possible to support 
  the removal of a class. If, for exemple C derives from B which in turn derives 
  from A and suddenly B is removed. Is their a way to deal with this without 
  invalidating all previously saved data? </div>
  <div>&nbsp;</div></span>
  <div><font face="Arial" size="2">*** I doubt it.&nbsp; If you want to load old 
  archives, you have know how much to &quot;skip&quot; over.&nbsp; The only thing that 
  MIGHT be possible</font></div>
  <div><font face="Arial" size="2">is something like:</font></div><font face="Arial" size="2"></font></blockquote>
<blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
  <div>
  <div><font face="Arial" size="2">template&lt;class Archive&gt;</font></div>
  <div><font face="Arial" size="2">void load(Archiv &amp;ar , C &amp;c, const 
  unsigned int version){</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; if(version &lt; 
  4&gt;){</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; class a; 
  //no longer used</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar&nbsp;&gt;&gt; 
  a;</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // throw 
  away old data on leaving scope</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; }</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; else</font></div>
  <div><font face="Arial" size="2">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  ar&nbsp;&gt;&gt; boost::serialization::base_object&lt;B&gt;(c);</font></div><span class="q">
  <div><font face="Arial" size="2">}</font></div><br><br>Thank you for your help!<br clear="all"><br>-- <br>Fr�d�rick Martel-Lupien<br>�tudiant en G�nie 
  Informatique<br>Universit� de Sherbrooke<br><a href="mailto:fred.lupien@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">fred.lupien@gmail.com</a> </span></div>
  <p>
  </p><hr>

  <p></p>_______________________________________________<br>Boost-users mailing 
  list<br><a href="mailto:Boost-users@lists.boost.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Boost-users@lists.boost.org</a><br><a href="http://lists.boost.org/mailman/listinfo.cgi/boost-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.boost.org/mailman/listinfo.cgi/boost-users</a><p></p></blockquote></div>
<br>_______________________________________________<br>Boost-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Boost-users@lists.boost.org">Boost-users@lists.boost.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.boost.org/mailman/listinfo.cgi/boost-users" target="_blank">
http://lists.boost.org/mailman/listinfo.cgi/boost-users</a><br></blockquote></div><br><br clear="all"><br>-- <br>Fr�d�rick Martel-Lupien<br>�tudiant en G�nie Informatique<br>Universit� de Sherbrooke<br><a href="mailto:fred.lupien@gmail.com">
fred.lupien@gmail.com</a>